[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-anthropic-lbo-model":3,"mdc-d50k59-key":39,"related-repo-anthropic-lbo-model":2188,"related-org-anthropic-lbo-model":2296},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":12,"stars":29,"repoUrl":30,"updatedAt":31,"license":32,"forks":33,"topics":34,"repo":35,"sourceUrl":37,"mdContent":38},"lbo-model","complete LBO model templates","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.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},"anthropic","Anthropic","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fanthropic.png","anthropics",[13,17,20,23,26],{"name":14,"slug":15,"type":16},"Financial Modeling","financial-modeling","tag",{"name":18,"slug":19,"type":16},"LBO","lbo",{"name":21,"slug":22,"type":16},"Excel","excel",{"name":24,"slug":25,"type":16},"Finance","finance",{"name":27,"slug":28,"type":16},"Private Equity","private-equity",33636,"https:\u002F\u002Fgithub.com\u002Fanthropics\u002Ffinancial-services","2026-05-15T06:08:36.664772",null,4964,[],{"repoUrl":30,"stars":29,"forks":33,"topics":36,"description":32},[],"https:\u002F\u002Fgithub.com\u002Fanthropics\u002Ffinancial-services\u002Ftree\u002FHEAD\u002Fplugins\u002Fagent-plugins\u002Fpitch-agent\u002Fskills\u002Flbo-model","---\nname: lbo-model\ndescription: 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.\n---\n\n---\n\n## TEMPLATE REQUIREMENT\n\n**This skill uses templates for LBO models. Always check for an attached template file first.**\n\nBefore starting any LBO model:\n1. **If a template file is attached\u002Fprovided**: Use that template's structure exactly - copy it and populate with the user's data\n2. **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.\"*\n3. **If using the standard template**: Copy `examples\u002FLBO_Model.xlsx` as your starting point and populate it with the user's assumptions\n\n**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.\n\n---\n\n## CRITICAL INSTRUCTIONS FOR CLAUDE - READ FIRST\n\n### Environment: Office JS vs Python\n\n**If running inside Excel (Office Add-in \u002F Office JS environment):**\n- Use Office JS (`Excel.run(async (context) => {...})`) directly — do NOT use Python\u002Fopenpyxl\n- Write formulas via `range.formulas = [[\"=B5*B6\"]]` — Office JS formulas recalculate natively in the live workbook\n- The same formulas-over-hardcodes rule applies: set `range.formulas`, never `range.values` for anything that should be a calculation\n- Use `range.format.font.color` \u002F `range.format.fill.color` for the blue\u002Fblack\u002Fpurple\u002Fgreen convention\n- No separate recalc step needed — Excel handles calculation natively\n- **Merged cell pitfall:** Do NOT call `.merge()` then set `.values` on the merged range (throws `InvalidArgument` — range still reports original dimensions). Instead: write value to top-left cell alone (`ws.getRange(\"A7\").values = [[\"SOURCES & USES\"]]`), then merge + format the full range (`ws.getRange(\"A7:F7\").merge(); ws.getRange(\"A7:F7\").format.fill.color = \"#1F4E79\";`)\n\n**If generating a standalone .xlsx file (no live Excel session):**\n- Use Python\u002Fopenpyxl as described below\n- Write formula strings (`ws[\"D20\"] = \"=B5*B6\"`), then run `recalc.py` before delivery\n\nThe rest of this skill is written with openpyxl examples, but the same principles apply to Office JS — just translate the API calls.\n\n### Core Principles\n* **Every calculation must be an Excel formula** - NEVER compute values in Python and hardcode results into cells. When using openpyxl, write `cell.value = \"=B5*B6\"` (formula string), NOT `cell.value = 1250` (computed result). The model must be dynamic and update when inputs change.\n* **Use the template structure** - Follow the organization in `examples\u002FLBO_Model.xlsx` or the user's provided template. Do not invent your own layout.\n* **Use proper cell references** - All formulas should reference the appropriate cells. Never type numbers that should come from other cells.\n* **Maintain sign convention consistency** - Follow whatever sign convention the template uses (some use negative for outflows, some use positive). Be consistent throughout.\n* **Work section by section, verify with user at each step** - Complete one section fully, show the user what was built, run the section's verification checks, and get confirmation BEFORE moving to the next section. Do NOT build the entire model end-to-end and then present it — later sections depend on earlier ones, so catching a mistake in Sources & Uses after the returns are already built means rework everywhere.\n\n### Formula Color Conventions\n* **Blue (0000FF)**: Hardcoded inputs - typed numbers that don't reference other cells\n* **Black (000000)**: Formulas with calculations - any formula using operators or functions (`=B4*B5`, `=SUM()`, `=-MAX(0,B4)`)\n* **Purple (800080)**: Links to cells on the **same tab** - direct references with no calculation (`=B9`, `=B45`)\n* **Green (008000)**: Links to cells on **different tabs** - cross-sheet references (`=Assumptions!B5`, `='Operating Model'!C10`)\n\n### Fill Color Palette — Professional Blues & Greys (Default unless user\u002Ftemplate specifies otherwise)\n* **Keep it minimal** — only use blues and greys for cell fills. Do NOT introduce greens, yellows, reds, or multiple accents. A professional LBO model uses restraint.\n* **Default fill palette:**\n  * **Section headers** (Sources & Uses, Operating Model, etc.): Dark blue `#1F4E79` with white bold text\n  * **Column headers** (Year 1, Year 2, etc.): Light blue `#D9E1F2` with black bold text\n  * **Input cells**: Light grey `#F2F2F2` (or just white) — the blue *font* is the signal, fill is secondary\n  * **Formula\u002Fcalculated cells**: White, no fill\n  * **Key outputs** (IRR, MOIC, Exit Equity): Medium blue `#BDD7EE` with black bold text\n* **That's the whole palette.** 3 blues + 1 grey + white. If the template uses its own colors, follow the template instead.\n* Note: The blue\u002Fblack\u002Fpurple\u002Fgreen **font** colors above are for distinguishing inputs vs formulas vs links. Those are separate from the **fill** palette here — both work together.\n\n### Number Formatting Standards\n* **Currency**: `$#,##0;($#,##0);\"-\"` or `$#,##0.0` depending on template\n* **Percentages**: `0.0%` (one decimal)\n* **Multiples**: `0.0\"x\"` (one decimal)\n* **MOIC\u002FDetailed Ratios**: `0.00\"x\"` (two decimals for precision)\n* **All numeric cells**: Right-aligned\n\n---\n\n### Clarify Requirements First\n\nBefore filling any formulas:\n\n* **Examine the template structure** - Identify all sections, understand the timeline (which columns are which periods), note any existing formulas\n* **Ask the user if anything is unclear** - If the template structure, calculation methods, or requirements are ambiguous, ask before proceeding\n* **Confirm key assumptions** - Any key inputs, calculation preferences, or specific requirements\n* **ONLY AFTER understanding the template**, proceed to fill in formulas\n\n---\n\n## TEMPLATE ANALYSIS PHASE - DO THIS FIRST\n\nBefore filling any formulas, examine the template thoroughly:\n\n1. **Map the structure** - Identify where each section lives and how they relate to each other. Note which sections feed into others.\n\n2. **Understand the timeline** - Which columns represent which periods? Is there a \"Closing\" or \"Pro Forma\" column? Where does the projection period start?\n\n3. **Identify input vs formula cells** - Templates often use color coding, borders, or shading to indicate which cells need inputs vs formulas. Respect these conventions.\n\n4. **Read existing labels carefully** - The row labels tell you exactly what calculation is expected. Don't assume - read what the template is asking for.\n\n5. **Check for existing formulas** - Some templates come partially filled. Don't overwrite working formulas unless specifically asked.\n\n6. **Note template-specific conventions** - Sign conventions, subtotal structures, how sections are organized, whether there are separate tabs for different components, etc.\n\n---\n\n## FILLING FORMULAS - GENERAL APPROACH\n\nFor each cell that needs a formula, follow this hierarchy:\n\n### Step 1: Check the Template\n* Does the cell already have a formula? If yes, verify it's correct and move on.\n* Is there a comment or note indicating the expected calculation?\n* Does the row\u002Fcolumn label make the calculation obvious?\n* Do neighboring cells show a pattern you should follow?\n\n### Step 2: Check the User's Instructions\n* Did the user specify a particular calculation method?\n* Are there stated assumptions that affect this formula?\n* Any special requirements mentioned?\n\n### Step 3: Apply Standard Practice\n* If neither template nor user specifies, use standard LBO modeling conventions\n* Document any assumptions you make\n* If genuinely uncertain, ask the user\n\n---\n\n## COMMON PROBLEM AREAS\n\nThe following calculation patterns frequently cause issues across LBO models. Pay special attention when you encounter these:\n\n### Balancing Sections\n* When two sections must equal (e.g., Sources = Uses), one item is typically the \"plug\" (balancing figure)\n* Identify which item is the plug and calculate it as the difference\n\n### Tax Calculations\n* Tax formulas should only reference the relevant income line and tax rate\n* Should NOT reference unrelated sections (e.g., debt schedules)\n* Consider whether losses create tax shields or are simply ignored\n\n### Interest and Circular References\n* Interest calculations can create circularity if they reference balances affected by cash flows\n* Use **Beginning Balance** (not average or ending) to break circular references\n* Pattern: Interest → Cash Flow → Paydown → Ending Balance (if interest uses ending balance, this circles back)\n\n### Debt Paydown \u002F Cash Sweeps\n* When multiple debt tranches exist, there's usually a priority order\n* Cash sweep should respect the priority waterfall\n* Balances cannot go negative - use MAX or MIN functions appropriately\n\n### Returns Calculations (IRR\u002FMOIC)\n* Cash flows must have correct signs: Investment = negative, Proceeds = positive\n* If using XIRR, need corresponding dates\n* If using IRR, cash flows should be in consecutive periods\n* MOIC = Total Proceeds \u002F Total Investment\n\n### Sensitivity Tables\n* **Use ODD dimensions** (5×5 or 7×7) — never 4×4 or 6×6. Odd dimensions guarantee a true center cell.\n* **Center cell = base case.** Build the row and column axis values symmetrically around the model's actual assumptions (e.g., if base entry multiple = 10.0x, axis = `[8.0x, 9.0x, 10.0x, 11.0x, 12.0x]`). The center cell's IRR\u002FMOIC MUST then equal the model's actual IRR\u002FMOIC output — this is the proof the table is wired correctly.\n* **Highlight the center cell** — medium-blue fill (`#BDD7EE`) + bold font so the base case is visually anchored.\n* Excel's DATA TABLE function may not work with openpyxl — instead write explicit formulas that reference row\u002Fcolumn headers\n* Each cell should show a DIFFERENT value — if all same, formulas aren't varying correctly\n* Use mixed references (e.g., `$A5` for row input, `B$4` for column input)\n\n---\n\n## VERIFICATION CHECKLIST - RUN AFTER COMPLETION\n\n### Run Formula Validation\n```bash\npython \u002Fmnt\u002Fskills\u002Fpublic\u002Fxlsx\u002Frecalc.py model.xlsx\n```\nMust return success with zero errors.\n\n### Section Balancing\n- [ ] Any sections that must balance (Sources\u002FUses, Assets\u002FLiabilities) balance exactly\n- [ ] Plug items are calculated correctly as the balancing figure\n- [ ] Amounts that should match across sections are consistent\n\n### Income\u002FOperating Projections\n- [ ] Revenue\u002Ftop-line builds correctly from drivers or growth rates\n- [ ] All cost and expense items calculated appropriately\n- [ ] Subtotals and totals sum correctly\n- [ ] Margins and ratios are reasonable\n- [ ] Links to assumptions are correct\n\n### Balance Sheet (if applicable)\n- [ ] Assets = Liabilities + Equity (must balance)\n- [ ] All items link to appropriate schedules or roll-forwards\n- [ ] Beginning balances = prior period ending balances\n- [ ] Check row included and shows zero\n\n### Cash Flow (if applicable)\n- [ ] Starts with correct income figure\n- [ ] Non-cash items added\u002Fsubtracted appropriately\n- [ ] Working capital changes have correct signs\n- [ ] Ending Cash = Beginning Cash + Net Cash Flow\n- [ ] Cash balances are consistent across statements\n\n### Supporting Schedules\n- [ ] Roll-forward schedules balance (Beginning + Changes = Ending)\n- [ ] Schedules link correctly to main statements\n- [ ] Calculated items use appropriate drivers\n- [ ] All periods are calculated consistently\n\n### Debt\u002FFinancing Schedules (if applicable)\n- [ ] Beginning balances tie to sources or prior period\n- [ ] Interest calculated on appropriate balance (typically beginning)\n- [ ] Paydowns respect cash availability and priority\n- [ ] Ending balances cannot be negative\n- [ ] Totals sum tranches correctly\n\n### Returns\u002FOutput Analysis\n- [ ] Exit\u002Fterminal values calculated correctly\n- [ ] All relevant adjustments included\n- [ ] Cash flow signs are correct (negative for investment, positive for proceeds)\n- [ ] IRR\u002FMOIC formulas reference complete ranges\n- [ ] Results are reasonable for the scenario\n\n### Sensitivity Tables (if applicable)\n- [ ] Grid dimensions are ODD (5×5 or 7×7) — there is a true center cell\n- [ ] Row and column axis values are symmetric around the base case (`[base-2Δ, base-Δ, base, base+Δ, base+2Δ]`)\n- [ ] Center cell output equals the model's actual IRR\u002FMOIC — confirms the table is wired correctly\n- [ ] Center cell is highlighted (medium-blue fill `#BDD7EE`, bold font)\n- [ ] Row and column headers contain appropriate input values\n- [ ] Each data cell contains a formula (not hardcoded)\n- [ ] Each data cell shows a DIFFERENT value\n- [ ] Values move in expected directions (higher exit multiple → higher IRR, etc.)\n\n### Formatting\n- [ ] Hardcoded inputs are blue (0000FF)\n- [ ] Calculated formulas are black (000000)\n- [ ] Same-tab links are purple (800080)\n- [ ] Cross-tab links are green (008000)\n- [ ] All numbers are right-aligned\n- [ ] Appropriate number formats applied throughout\n- [ ] No cells show error values (#REF!, #DIV\u002F0!, #VALUE!, #NAME?)\n\n### Logical Sanity Checks\n- [ ] Numbers are reasonable order of magnitude\n- [ ] Trends make sense (growth, decline, stabilization as expected)\n- [ ] No obviously wrong values (negative where should be positive, impossible percentages, etc.)\n- [ ] Key outputs are within reasonable ranges for the type of analysis\n\n---\n\n## COMMON ERRORS TO AVOID\n\n| Error | What Goes Wrong | How to Fix |\n|-------|-----------------|------------|\n| Hardcoding calculated values | Model doesn't update when inputs change | Always use formulas that reference source cells |\n| Wrong cell references after copying | Formulas point to wrong cells | Verify all links, use appropriate $ anchoring |\n| Circular reference errors | Model can't calculate | Use beginning balances for interest-type calcs, break the circle |\n| Sections don't balance | Totals that should match don't | Ensure one item is the plug (calculated as difference) |\n| Negative balances where impossible | Paying\u002Fusing more than available | Use MAX(0, ...) or MIN functions appropriately |\n| IRR\u002Freturn errors | Wrong signs or incomplete ranges | Check cash flow signs and ensure formula covers all periods |\n| Sensitivity table shows same value | Formula not varying with inputs | Check cell references - need mixed references ($A5, B$4) |\n| Roll-forwards don't tie | Beginning ≠ prior ending | Verify links between periods |\n| Inconsistent sign conventions | Additions become subtractions or vice versa | Follow template's convention consistently throughout |\n\n---\n\n## WORKING WITH THE USER — SECTION-BY-SECTION CHECKPOINTS\n\n* **If the template structure is unclear**, ask before proceeding\n* **If the user's requirements conflict with the template**, confirm their preference\n* **After completing each major section**, STOP and verify with the user before continuing:\n  - **After Sources & Uses** → show the balanced table, confirm the plug is correct, get sign-off before building the operating model\n  - **After Operating Model \u002F Projections** → show the projected P&L, confirm growth rates and margins look right, get sign-off before the debt schedule\n  - **After Debt Schedule** → show beginning\u002Fending balances and interest, confirm the waterfall logic, get sign-off before returns\n  - **After Returns (IRR\u002FMOIC)** → show the cash flow series and outputs, confirm signs and ranges, get sign-off before sensitivity tables\n  - **After Sensitivity Tables** → show that each cell varies, confirm the base case lands where expected\n* **If errors are found during verification**, fix them before moving to the next section\n* **Show your work** - explain key formulas or assumptions when helpful\n* **Never present a completed model without having checked in at each section** — it's faster to catch a wrong cell reference at the source than to trace it backwards from a broken IRR\n\n---\n\n**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.**\n",{"data":40,"body":41},{"name":4,"description":6},{"type":42,"children":43},"root",[44,49,57,67,72,122,140,143,149,156,164,291,299,328,333,339,415,421,528,534,674,680,769,772,778,783,826,829,835,840,903,906,912,917,923,946,952,970,976,994,997,1003,1008,1014,1027,1033,1051,1057,1081,1087,1105,1111,1134,1140,1219,1222,1228,1234,1268,1273,1279,1315,1321,1370,1376,1416,1422,1471,1477,1517,1523,1572,1578,1627,1633,1723,1729,1796,1802,1842,1845,1851,2046,2049,2055,2171,2174,2182],{"type":45,"tag":46,"props":47,"children":48},"element","hr",{},[],{"type":45,"tag":50,"props":51,"children":53},"h2",{"id":52},"template-requirement",[54],{"type":55,"value":56},"text","TEMPLATE REQUIREMENT",{"type":45,"tag":58,"props":59,"children":60},"p",{},[61],{"type":45,"tag":62,"props":63,"children":64},"strong",{},[65],{"type":55,"value":66},"This skill uses templates for LBO models. Always check for an attached template file first.",{"type":45,"tag":58,"props":68,"children":69},{},[70],{"type":55,"value":71},"Before starting any LBO model:",{"type":45,"tag":73,"props":74,"children":75},"ol",{},[76,87,103],{"type":45,"tag":77,"props":78,"children":79},"li",{},[80,85],{"type":45,"tag":62,"props":81,"children":82},{},[83],{"type":55,"value":84},"If a template file is attached\u002Fprovided",{"type":55,"value":86},": Use that template's structure exactly - copy it and populate with the user's data",{"type":45,"tag":77,"props":88,"children":89},{},[90,95,97],{"type":45,"tag":62,"props":91,"children":92},{},[93],{"type":55,"value":94},"If no template is attached",{"type":55,"value":96},": Ask the user: ",{"type":45,"tag":98,"props":99,"children":100},"em",{},[101],{"type":55,"value":102},"\"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.\"",{"type":45,"tag":77,"props":104,"children":105},{},[106,111,113,120],{"type":45,"tag":62,"props":107,"children":108},{},[109],{"type":55,"value":110},"If using the standard template",{"type":55,"value":112},": Copy ",{"type":45,"tag":114,"props":115,"children":117},"code",{"className":116},[],[118],{"type":55,"value":119},"examples\u002FLBO_Model.xlsx",{"type":55,"value":121}," as your starting point and populate it with the user's assumptions",{"type":45,"tag":58,"props":123,"children":124},{},[125,130,132,138],{"type":45,"tag":62,"props":126,"children":127},{},[128],{"type":55,"value":129},"IMPORTANT",{"type":55,"value":131},": When a file like ",{"type":45,"tag":114,"props":133,"children":135},{"className":134},[],[136],{"type":55,"value":137},"LBO_Model.xlsx",{"type":55,"value":139}," 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.",{"type":45,"tag":46,"props":141,"children":142},{},[],{"type":45,"tag":50,"props":144,"children":146},{"id":145},"critical-instructions-for-claude-read-first",[147],{"type":55,"value":148},"CRITICAL INSTRUCTIONS FOR CLAUDE - READ FIRST",{"type":45,"tag":150,"props":151,"children":153},"h3",{"id":152},"environment-office-js-vs-python",[154],{"type":55,"value":155},"Environment: Office JS vs Python",{"type":45,"tag":58,"props":157,"children":158},{},[159],{"type":45,"tag":62,"props":160,"children":161},{},[162],{"type":55,"value":163},"If running inside Excel (Office Add-in \u002F Office JS environment):",{"type":45,"tag":165,"props":166,"children":167},"ul",{},[168,181,194,215,236,241],{"type":45,"tag":77,"props":169,"children":170},{},[171,173,179],{"type":55,"value":172},"Use Office JS (",{"type":45,"tag":114,"props":174,"children":176},{"className":175},[],[177],{"type":55,"value":178},"Excel.run(async (context) => {...})",{"type":55,"value":180},") directly — do NOT use Python\u002Fopenpyxl",{"type":45,"tag":77,"props":182,"children":183},{},[184,186,192],{"type":55,"value":185},"Write formulas via ",{"type":45,"tag":114,"props":187,"children":189},{"className":188},[],[190],{"type":55,"value":191},"range.formulas = [[\"=B5*B6\"]]",{"type":55,"value":193}," — Office JS formulas recalculate natively in the live workbook",{"type":45,"tag":77,"props":195,"children":196},{},[197,199,205,207,213],{"type":55,"value":198},"The same formulas-over-hardcodes rule applies: set ",{"type":45,"tag":114,"props":200,"children":202},{"className":201},[],[203],{"type":55,"value":204},"range.formulas",{"type":55,"value":206},", never ",{"type":45,"tag":114,"props":208,"children":210},{"className":209},[],[211],{"type":55,"value":212},"range.values",{"type":55,"value":214}," for anything that should be a calculation",{"type":45,"tag":77,"props":216,"children":217},{},[218,220,226,228,234],{"type":55,"value":219},"Use ",{"type":45,"tag":114,"props":221,"children":223},{"className":222},[],[224],{"type":55,"value":225},"range.format.font.color",{"type":55,"value":227}," \u002F ",{"type":45,"tag":114,"props":229,"children":231},{"className":230},[],[232],{"type":55,"value":233},"range.format.fill.color",{"type":55,"value":235}," for the blue\u002Fblack\u002Fpurple\u002Fgreen convention",{"type":45,"tag":77,"props":237,"children":238},{},[239],{"type":55,"value":240},"No separate recalc step needed — Excel handles calculation natively",{"type":45,"tag":77,"props":242,"children":243},{},[244,249,251,257,259,265,267,273,275,281,283,289],{"type":45,"tag":62,"props":245,"children":246},{},[247],{"type":55,"value":248},"Merged cell pitfall:",{"type":55,"value":250}," Do NOT call ",{"type":45,"tag":114,"props":252,"children":254},{"className":253},[],[255],{"type":55,"value":256},".merge()",{"type":55,"value":258}," then set ",{"type":45,"tag":114,"props":260,"children":262},{"className":261},[],[263],{"type":55,"value":264},".values",{"type":55,"value":266}," on the merged range (throws ",{"type":45,"tag":114,"props":268,"children":270},{"className":269},[],[271],{"type":55,"value":272},"InvalidArgument",{"type":55,"value":274}," — range still reports original dimensions). Instead: write value to top-left cell alone (",{"type":45,"tag":114,"props":276,"children":278},{"className":277},[],[279],{"type":55,"value":280},"ws.getRange(\"A7\").values = [[\"SOURCES & USES\"]]",{"type":55,"value":282},"), then merge + format the full range (",{"type":45,"tag":114,"props":284,"children":286},{"className":285},[],[287],{"type":55,"value":288},"ws.getRange(\"A7:F7\").merge(); ws.getRange(\"A7:F7\").format.fill.color = \"#1F4E79\";",{"type":55,"value":290},")",{"type":45,"tag":58,"props":292,"children":293},{},[294],{"type":45,"tag":62,"props":295,"children":296},{},[297],{"type":55,"value":298},"If generating a standalone .xlsx file (no live Excel session):",{"type":45,"tag":165,"props":300,"children":301},{},[302,307],{"type":45,"tag":77,"props":303,"children":304},{},[305],{"type":55,"value":306},"Use Python\u002Fopenpyxl as described below",{"type":45,"tag":77,"props":308,"children":309},{},[310,312,318,320,326],{"type":55,"value":311},"Write formula strings (",{"type":45,"tag":114,"props":313,"children":315},{"className":314},[],[316],{"type":55,"value":317},"ws[\"D20\"] = \"=B5*B6\"",{"type":55,"value":319},"), then run ",{"type":45,"tag":114,"props":321,"children":323},{"className":322},[],[324],{"type":55,"value":325},"recalc.py",{"type":55,"value":327}," before delivery",{"type":45,"tag":58,"props":329,"children":330},{},[331],{"type":55,"value":332},"The rest of this skill is written with openpyxl examples, but the same principles apply to Office JS — just translate the API calls.",{"type":45,"tag":150,"props":334,"children":336},{"id":335},"core-principles",[337],{"type":55,"value":338},"Core Principles",{"type":45,"tag":165,"props":340,"children":341},{},[342,368,385,395,405],{"type":45,"tag":77,"props":343,"children":344},{},[345,350,352,358,360,366],{"type":45,"tag":62,"props":346,"children":347},{},[348],{"type":55,"value":349},"Every calculation must be an Excel formula",{"type":55,"value":351}," - NEVER compute values in Python and hardcode results into cells. When using openpyxl, write ",{"type":45,"tag":114,"props":353,"children":355},{"className":354},[],[356],{"type":55,"value":357},"cell.value = \"=B5*B6\"",{"type":55,"value":359}," (formula string), NOT ",{"type":45,"tag":114,"props":361,"children":363},{"className":362},[],[364],{"type":55,"value":365},"cell.value = 1250",{"type":55,"value":367}," (computed result). The model must be dynamic and update when inputs change.",{"type":45,"tag":77,"props":369,"children":370},{},[371,376,378,383],{"type":45,"tag":62,"props":372,"children":373},{},[374],{"type":55,"value":375},"Use the template structure",{"type":55,"value":377}," - Follow the organization in ",{"type":45,"tag":114,"props":379,"children":381},{"className":380},[],[382],{"type":55,"value":119},{"type":55,"value":384}," or the user's provided template. Do not invent your own layout.",{"type":45,"tag":77,"props":386,"children":387},{},[388,393],{"type":45,"tag":62,"props":389,"children":390},{},[391],{"type":55,"value":392},"Use proper cell references",{"type":55,"value":394}," - All formulas should reference the appropriate cells. Never type numbers that should come from other cells.",{"type":45,"tag":77,"props":396,"children":397},{},[398,403],{"type":45,"tag":62,"props":399,"children":400},{},[401],{"type":55,"value":402},"Maintain sign convention consistency",{"type":55,"value":404}," - Follow whatever sign convention the template uses (some use negative for outflows, some use positive). Be consistent throughout.",{"type":45,"tag":77,"props":406,"children":407},{},[408,413],{"type":45,"tag":62,"props":409,"children":410},{},[411],{"type":55,"value":412},"Work section by section, verify with user at each step",{"type":55,"value":414}," - Complete one section fully, show the user what was built, run the section's verification checks, and get confirmation BEFORE moving to the next section. Do NOT build the entire model end-to-end and then present it — later sections depend on earlier ones, so catching a mistake in Sources & Uses after the returns are already built means rework everywhere.",{"type":45,"tag":150,"props":416,"children":418},{"id":417},"formula-color-conventions",[419],{"type":55,"value":420},"Formula Color Conventions",{"type":45,"tag":165,"props":422,"children":423},{},[424,434,466,497],{"type":45,"tag":77,"props":425,"children":426},{},[427,432],{"type":45,"tag":62,"props":428,"children":429},{},[430],{"type":55,"value":431},"Blue (0000FF)",{"type":55,"value":433},": Hardcoded inputs - typed numbers that don't reference other cells",{"type":45,"tag":77,"props":435,"children":436},{},[437,442,444,450,452,458,459,465],{"type":45,"tag":62,"props":438,"children":439},{},[440],{"type":55,"value":441},"Black (000000)",{"type":55,"value":443},": Formulas with calculations - any formula using operators or functions (",{"type":45,"tag":114,"props":445,"children":447},{"className":446},[],[448],{"type":55,"value":449},"=B4*B5",{"type":55,"value":451},", ",{"type":45,"tag":114,"props":453,"children":455},{"className":454},[],[456],{"type":55,"value":457},"=SUM()",{"type":55,"value":451},{"type":45,"tag":114,"props":460,"children":462},{"className":461},[],[463],{"type":55,"value":464},"=-MAX(0,B4)",{"type":55,"value":290},{"type":45,"tag":77,"props":467,"children":468},{},[469,474,476,481,483,489,490,496],{"type":45,"tag":62,"props":470,"children":471},{},[472],{"type":55,"value":473},"Purple (800080)",{"type":55,"value":475},": Links to cells on the ",{"type":45,"tag":62,"props":477,"children":478},{},[479],{"type":55,"value":480},"same tab",{"type":55,"value":482}," - direct references with no calculation (",{"type":45,"tag":114,"props":484,"children":486},{"className":485},[],[487],{"type":55,"value":488},"=B9",{"type":55,"value":451},{"type":45,"tag":114,"props":491,"children":493},{"className":492},[],[494],{"type":55,"value":495},"=B45",{"type":55,"value":290},{"type":45,"tag":77,"props":498,"children":499},{},[500,505,507,512,514,520,521,527],{"type":45,"tag":62,"props":501,"children":502},{},[503],{"type":55,"value":504},"Green (008000)",{"type":55,"value":506},": Links to cells on ",{"type":45,"tag":62,"props":508,"children":509},{},[510],{"type":55,"value":511},"different tabs",{"type":55,"value":513}," - cross-sheet references (",{"type":45,"tag":114,"props":515,"children":517},{"className":516},[],[518],{"type":55,"value":519},"=Assumptions!B5",{"type":55,"value":451},{"type":45,"tag":114,"props":522,"children":524},{"className":523},[],[525],{"type":55,"value":526},"='Operating Model'!C10",{"type":55,"value":290},{"type":45,"tag":150,"props":529,"children":531},{"id":530},"fill-color-palette-professional-blues-greys-default-unless-usertemplate-specifies-otherwise",[532],{"type":55,"value":533},"Fill Color Palette — Professional Blues & Greys (Default unless user\u002Ftemplate specifies otherwise)",{"type":45,"tag":165,"props":535,"children":536},{},[537,547,646,656],{"type":45,"tag":77,"props":538,"children":539},{},[540,545],{"type":45,"tag":62,"props":541,"children":542},{},[543],{"type":55,"value":544},"Keep it minimal",{"type":55,"value":546}," — only use blues and greys for cell fills. Do NOT introduce greens, yellows, reds, or multiple accents. A professional LBO model uses restraint.",{"type":45,"tag":77,"props":548,"children":549},{},[550,555],{"type":45,"tag":62,"props":551,"children":552},{},[553],{"type":55,"value":554},"Default fill palette:",{"type":45,"tag":165,"props":556,"children":557},{},[558,576,594,619,629],{"type":45,"tag":77,"props":559,"children":560},{},[561,566,568,574],{"type":45,"tag":62,"props":562,"children":563},{},[564],{"type":55,"value":565},"Section headers",{"type":55,"value":567}," (Sources & Uses, Operating Model, etc.): Dark blue ",{"type":45,"tag":114,"props":569,"children":571},{"className":570},[],[572],{"type":55,"value":573},"#1F4E79",{"type":55,"value":575}," with white bold text",{"type":45,"tag":77,"props":577,"children":578},{},[579,584,586,592],{"type":45,"tag":62,"props":580,"children":581},{},[582],{"type":55,"value":583},"Column headers",{"type":55,"value":585}," (Year 1, Year 2, etc.): Light blue ",{"type":45,"tag":114,"props":587,"children":589},{"className":588},[],[590],{"type":55,"value":591},"#D9E1F2",{"type":55,"value":593}," with black bold text",{"type":45,"tag":77,"props":595,"children":596},{},[597,602,604,610,612,617],{"type":45,"tag":62,"props":598,"children":599},{},[600],{"type":55,"value":601},"Input cells",{"type":55,"value":603},": Light grey ",{"type":45,"tag":114,"props":605,"children":607},{"className":606},[],[608],{"type":55,"value":609},"#F2F2F2",{"type":55,"value":611}," (or just white) — the blue ",{"type":45,"tag":98,"props":613,"children":614},{},[615],{"type":55,"value":616},"font",{"type":55,"value":618}," is the signal, fill is secondary",{"type":45,"tag":77,"props":620,"children":621},{},[622,627],{"type":45,"tag":62,"props":623,"children":624},{},[625],{"type":55,"value":626},"Formula\u002Fcalculated cells",{"type":55,"value":628},": White, no fill",{"type":45,"tag":77,"props":630,"children":631},{},[632,637,639,645],{"type":45,"tag":62,"props":633,"children":634},{},[635],{"type":55,"value":636},"Key outputs",{"type":55,"value":638}," (IRR, MOIC, Exit Equity): Medium blue ",{"type":45,"tag":114,"props":640,"children":642},{"className":641},[],[643],{"type":55,"value":644},"#BDD7EE",{"type":55,"value":593},{"type":45,"tag":77,"props":647,"children":648},{},[649,654],{"type":45,"tag":62,"props":650,"children":651},{},[652],{"type":55,"value":653},"That's the whole palette.",{"type":55,"value":655}," 3 blues + 1 grey + white. If the template uses its own colors, follow the template instead.",{"type":45,"tag":77,"props":657,"children":658},{},[659,661,665,667,672],{"type":55,"value":660},"Note: The blue\u002Fblack\u002Fpurple\u002Fgreen ",{"type":45,"tag":62,"props":662,"children":663},{},[664],{"type":55,"value":616},{"type":55,"value":666}," colors above are for distinguishing inputs vs formulas vs links. Those are separate from the ",{"type":45,"tag":62,"props":668,"children":669},{},[670],{"type":55,"value":671},"fill",{"type":55,"value":673}," palette here — both work together.",{"type":45,"tag":150,"props":675,"children":677},{"id":676},"number-formatting-standards",[678],{"type":55,"value":679},"Number Formatting Standards",{"type":45,"tag":165,"props":681,"children":682},{},[683,709,726,742,759],{"type":45,"tag":77,"props":684,"children":685},{},[686,691,693,699,701,707],{"type":45,"tag":62,"props":687,"children":688},{},[689],{"type":55,"value":690},"Currency",{"type":55,"value":692},": ",{"type":45,"tag":114,"props":694,"children":696},{"className":695},[],[697],{"type":55,"value":698},"$#,##0;($#,##0);\"-\"",{"type":55,"value":700}," or ",{"type":45,"tag":114,"props":702,"children":704},{"className":703},[],[705],{"type":55,"value":706},"$#,##0.0",{"type":55,"value":708}," depending on template",{"type":45,"tag":77,"props":710,"children":711},{},[712,717,718,724],{"type":45,"tag":62,"props":713,"children":714},{},[715],{"type":55,"value":716},"Percentages",{"type":55,"value":692},{"type":45,"tag":114,"props":719,"children":721},{"className":720},[],[722],{"type":55,"value":723},"0.0%",{"type":55,"value":725}," (one decimal)",{"type":45,"tag":77,"props":727,"children":728},{},[729,734,735,741],{"type":45,"tag":62,"props":730,"children":731},{},[732],{"type":55,"value":733},"Multiples",{"type":55,"value":692},{"type":45,"tag":114,"props":736,"children":738},{"className":737},[],[739],{"type":55,"value":740},"0.0\"x\"",{"type":55,"value":725},{"type":45,"tag":77,"props":743,"children":744},{},[745,750,751,757],{"type":45,"tag":62,"props":746,"children":747},{},[748],{"type":55,"value":749},"MOIC\u002FDetailed Ratios",{"type":55,"value":692},{"type":45,"tag":114,"props":752,"children":754},{"className":753},[],[755],{"type":55,"value":756},"0.00\"x\"",{"type":55,"value":758}," (two decimals for precision)",{"type":45,"tag":77,"props":760,"children":761},{},[762,767],{"type":45,"tag":62,"props":763,"children":764},{},[765],{"type":55,"value":766},"All numeric cells",{"type":55,"value":768},": Right-aligned",{"type":45,"tag":46,"props":770,"children":771},{},[],{"type":45,"tag":150,"props":773,"children":775},{"id":774},"clarify-requirements-first",[776],{"type":55,"value":777},"Clarify Requirements First",{"type":45,"tag":58,"props":779,"children":780},{},[781],{"type":55,"value":782},"Before filling any formulas:",{"type":45,"tag":165,"props":784,"children":785},{},[786,796,806,816],{"type":45,"tag":77,"props":787,"children":788},{},[789,794],{"type":45,"tag":62,"props":790,"children":791},{},[792],{"type":55,"value":793},"Examine the template structure",{"type":55,"value":795}," - Identify all sections, understand the timeline (which columns are which periods), note any existing formulas",{"type":45,"tag":77,"props":797,"children":798},{},[799,804],{"type":45,"tag":62,"props":800,"children":801},{},[802],{"type":55,"value":803},"Ask the user if anything is unclear",{"type":55,"value":805}," - If the template structure, calculation methods, or requirements are ambiguous, ask before proceeding",{"type":45,"tag":77,"props":807,"children":808},{},[809,814],{"type":45,"tag":62,"props":810,"children":811},{},[812],{"type":55,"value":813},"Confirm key assumptions",{"type":55,"value":815}," - Any key inputs, calculation preferences, or specific requirements",{"type":45,"tag":77,"props":817,"children":818},{},[819,824],{"type":45,"tag":62,"props":820,"children":821},{},[822],{"type":55,"value":823},"ONLY AFTER understanding the template",{"type":55,"value":825},", proceed to fill in formulas",{"type":45,"tag":46,"props":827,"children":828},{},[],{"type":45,"tag":50,"props":830,"children":832},{"id":831},"template-analysis-phase-do-this-first",[833],{"type":55,"value":834},"TEMPLATE ANALYSIS PHASE - DO THIS FIRST",{"type":45,"tag":58,"props":836,"children":837},{},[838],{"type":55,"value":839},"Before filling any formulas, examine the template thoroughly:",{"type":45,"tag":73,"props":841,"children":842},{},[843,853,863,873,883,893],{"type":45,"tag":77,"props":844,"children":845},{},[846,851],{"type":45,"tag":62,"props":847,"children":848},{},[849],{"type":55,"value":850},"Map the structure",{"type":55,"value":852}," - Identify where each section lives and how they relate to each other. Note which sections feed into others.",{"type":45,"tag":77,"props":854,"children":855},{},[856,861],{"type":45,"tag":62,"props":857,"children":858},{},[859],{"type":55,"value":860},"Understand the timeline",{"type":55,"value":862}," - Which columns represent which periods? Is there a \"Closing\" or \"Pro Forma\" column? Where does the projection period start?",{"type":45,"tag":77,"props":864,"children":865},{},[866,871],{"type":45,"tag":62,"props":867,"children":868},{},[869],{"type":55,"value":870},"Identify input vs formula cells",{"type":55,"value":872}," - Templates often use color coding, borders, or shading to indicate which cells need inputs vs formulas. Respect these conventions.",{"type":45,"tag":77,"props":874,"children":875},{},[876,881],{"type":45,"tag":62,"props":877,"children":878},{},[879],{"type":55,"value":880},"Read existing labels carefully",{"type":55,"value":882}," - The row labels tell you exactly what calculation is expected. Don't assume - read what the template is asking for.",{"type":45,"tag":77,"props":884,"children":885},{},[886,891],{"type":45,"tag":62,"props":887,"children":888},{},[889],{"type":55,"value":890},"Check for existing formulas",{"type":55,"value":892}," - Some templates come partially filled. Don't overwrite working formulas unless specifically asked.",{"type":45,"tag":77,"props":894,"children":895},{},[896,901],{"type":45,"tag":62,"props":897,"children":898},{},[899],{"type":55,"value":900},"Note template-specific conventions",{"type":55,"value":902}," - Sign conventions, subtotal structures, how sections are organized, whether there are separate tabs for different components, etc.",{"type":45,"tag":46,"props":904,"children":905},{},[],{"type":45,"tag":50,"props":907,"children":909},{"id":908},"filling-formulas-general-approach",[910],{"type":55,"value":911},"FILLING FORMULAS - GENERAL APPROACH",{"type":45,"tag":58,"props":913,"children":914},{},[915],{"type":55,"value":916},"For each cell that needs a formula, follow this hierarchy:",{"type":45,"tag":150,"props":918,"children":920},{"id":919},"step-1-check-the-template",[921],{"type":55,"value":922},"Step 1: Check the Template",{"type":45,"tag":165,"props":924,"children":925},{},[926,931,936,941],{"type":45,"tag":77,"props":927,"children":928},{},[929],{"type":55,"value":930},"Does the cell already have a formula? If yes, verify it's correct and move on.",{"type":45,"tag":77,"props":932,"children":933},{},[934],{"type":55,"value":935},"Is there a comment or note indicating the expected calculation?",{"type":45,"tag":77,"props":937,"children":938},{},[939],{"type":55,"value":940},"Does the row\u002Fcolumn label make the calculation obvious?",{"type":45,"tag":77,"props":942,"children":943},{},[944],{"type":55,"value":945},"Do neighboring cells show a pattern you should follow?",{"type":45,"tag":150,"props":947,"children":949},{"id":948},"step-2-check-the-users-instructions",[950],{"type":55,"value":951},"Step 2: Check the User's Instructions",{"type":45,"tag":165,"props":953,"children":954},{},[955,960,965],{"type":45,"tag":77,"props":956,"children":957},{},[958],{"type":55,"value":959},"Did the user specify a particular calculation method?",{"type":45,"tag":77,"props":961,"children":962},{},[963],{"type":55,"value":964},"Are there stated assumptions that affect this formula?",{"type":45,"tag":77,"props":966,"children":967},{},[968],{"type":55,"value":969},"Any special requirements mentioned?",{"type":45,"tag":150,"props":971,"children":973},{"id":972},"step-3-apply-standard-practice",[974],{"type":55,"value":975},"Step 3: Apply Standard Practice",{"type":45,"tag":165,"props":977,"children":978},{},[979,984,989],{"type":45,"tag":77,"props":980,"children":981},{},[982],{"type":55,"value":983},"If neither template nor user specifies, use standard LBO modeling conventions",{"type":45,"tag":77,"props":985,"children":986},{},[987],{"type":55,"value":988},"Document any assumptions you make",{"type":45,"tag":77,"props":990,"children":991},{},[992],{"type":55,"value":993},"If genuinely uncertain, ask the user",{"type":45,"tag":46,"props":995,"children":996},{},[],{"type":45,"tag":50,"props":998,"children":1000},{"id":999},"common-problem-areas",[1001],{"type":55,"value":1002},"COMMON PROBLEM AREAS",{"type":45,"tag":58,"props":1004,"children":1005},{},[1006],{"type":55,"value":1007},"The following calculation patterns frequently cause issues across LBO models. Pay special attention when you encounter these:",{"type":45,"tag":150,"props":1009,"children":1011},{"id":1010},"balancing-sections",[1012],{"type":55,"value":1013},"Balancing Sections",{"type":45,"tag":165,"props":1015,"children":1016},{},[1017,1022],{"type":45,"tag":77,"props":1018,"children":1019},{},[1020],{"type":55,"value":1021},"When two sections must equal (e.g., Sources = Uses), one item is typically the \"plug\" (balancing figure)",{"type":45,"tag":77,"props":1023,"children":1024},{},[1025],{"type":55,"value":1026},"Identify which item is the plug and calculate it as the difference",{"type":45,"tag":150,"props":1028,"children":1030},{"id":1029},"tax-calculations",[1031],{"type":55,"value":1032},"Tax Calculations",{"type":45,"tag":165,"props":1034,"children":1035},{},[1036,1041,1046],{"type":45,"tag":77,"props":1037,"children":1038},{},[1039],{"type":55,"value":1040},"Tax formulas should only reference the relevant income line and tax rate",{"type":45,"tag":77,"props":1042,"children":1043},{},[1044],{"type":55,"value":1045},"Should NOT reference unrelated sections (e.g., debt schedules)",{"type":45,"tag":77,"props":1047,"children":1048},{},[1049],{"type":55,"value":1050},"Consider whether losses create tax shields or are simply ignored",{"type":45,"tag":150,"props":1052,"children":1054},{"id":1053},"interest-and-circular-references",[1055],{"type":55,"value":1056},"Interest and Circular References",{"type":45,"tag":165,"props":1058,"children":1059},{},[1060,1065,1076],{"type":45,"tag":77,"props":1061,"children":1062},{},[1063],{"type":55,"value":1064},"Interest calculations can create circularity if they reference balances affected by cash flows",{"type":45,"tag":77,"props":1066,"children":1067},{},[1068,1069,1074],{"type":55,"value":219},{"type":45,"tag":62,"props":1070,"children":1071},{},[1072],{"type":55,"value":1073},"Beginning Balance",{"type":55,"value":1075}," (not average or ending) to break circular references",{"type":45,"tag":77,"props":1077,"children":1078},{},[1079],{"type":55,"value":1080},"Pattern: Interest → Cash Flow → Paydown → Ending Balance (if interest uses ending balance, this circles back)",{"type":45,"tag":150,"props":1082,"children":1084},{"id":1083},"debt-paydown-cash-sweeps",[1085],{"type":55,"value":1086},"Debt Paydown \u002F Cash Sweeps",{"type":45,"tag":165,"props":1088,"children":1089},{},[1090,1095,1100],{"type":45,"tag":77,"props":1091,"children":1092},{},[1093],{"type":55,"value":1094},"When multiple debt tranches exist, there's usually a priority order",{"type":45,"tag":77,"props":1096,"children":1097},{},[1098],{"type":55,"value":1099},"Cash sweep should respect the priority waterfall",{"type":45,"tag":77,"props":1101,"children":1102},{},[1103],{"type":55,"value":1104},"Balances cannot go negative - use MAX or MIN functions appropriately",{"type":45,"tag":150,"props":1106,"children":1108},{"id":1107},"returns-calculations-irrmoic",[1109],{"type":55,"value":1110},"Returns Calculations (IRR\u002FMOIC)",{"type":45,"tag":165,"props":1112,"children":1113},{},[1114,1119,1124,1129],{"type":45,"tag":77,"props":1115,"children":1116},{},[1117],{"type":55,"value":1118},"Cash flows must have correct signs: Investment = negative, Proceeds = positive",{"type":45,"tag":77,"props":1120,"children":1121},{},[1122],{"type":55,"value":1123},"If using XIRR, need corresponding dates",{"type":45,"tag":77,"props":1125,"children":1126},{},[1127],{"type":55,"value":1128},"If using IRR, cash flows should be in consecutive periods",{"type":45,"tag":77,"props":1130,"children":1131},{},[1132],{"type":55,"value":1133},"MOIC = Total Proceeds \u002F Total Investment",{"type":45,"tag":150,"props":1135,"children":1137},{"id":1136},"sensitivity-tables",[1138],{"type":55,"value":1139},"Sensitivity Tables",{"type":45,"tag":165,"props":1141,"children":1142},{},[1143,1153,1171,1188,1193,1198],{"type":45,"tag":77,"props":1144,"children":1145},{},[1146,1151],{"type":45,"tag":62,"props":1147,"children":1148},{},[1149],{"type":55,"value":1150},"Use ODD dimensions",{"type":55,"value":1152}," (5×5 or 7×7) — never 4×4 or 6×6. Odd dimensions guarantee a true center cell.",{"type":45,"tag":77,"props":1154,"children":1155},{},[1156,1161,1163,1169],{"type":45,"tag":62,"props":1157,"children":1158},{},[1159],{"type":55,"value":1160},"Center cell = base case.",{"type":55,"value":1162}," Build the row and column axis values symmetrically around the model's actual assumptions (e.g., if base entry multiple = 10.0x, axis = ",{"type":45,"tag":114,"props":1164,"children":1166},{"className":1165},[],[1167],{"type":55,"value":1168},"[8.0x, 9.0x, 10.0x, 11.0x, 12.0x]",{"type":55,"value":1170},"). The center cell's IRR\u002FMOIC MUST then equal the model's actual IRR\u002FMOIC output — this is the proof the table is wired correctly.",{"type":45,"tag":77,"props":1172,"children":1173},{},[1174,1179,1181,1186],{"type":45,"tag":62,"props":1175,"children":1176},{},[1177],{"type":55,"value":1178},"Highlight the center cell",{"type":55,"value":1180}," — medium-blue fill (",{"type":45,"tag":114,"props":1182,"children":1184},{"className":1183},[],[1185],{"type":55,"value":644},{"type":55,"value":1187},") + bold font so the base case is visually anchored.",{"type":45,"tag":77,"props":1189,"children":1190},{},[1191],{"type":55,"value":1192},"Excel's DATA TABLE function may not work with openpyxl — instead write explicit formulas that reference row\u002Fcolumn headers",{"type":45,"tag":77,"props":1194,"children":1195},{},[1196],{"type":55,"value":1197},"Each cell should show a DIFFERENT value — if all same, formulas aren't varying correctly",{"type":45,"tag":77,"props":1199,"children":1200},{},[1201,1203,1209,1211,1217],{"type":55,"value":1202},"Use mixed references (e.g., ",{"type":45,"tag":114,"props":1204,"children":1206},{"className":1205},[],[1207],{"type":55,"value":1208},"$A5",{"type":55,"value":1210}," for row input, ",{"type":45,"tag":114,"props":1212,"children":1214},{"className":1213},[],[1215],{"type":55,"value":1216},"B$4",{"type":55,"value":1218}," for column input)",{"type":45,"tag":46,"props":1220,"children":1221},{},[],{"type":45,"tag":50,"props":1223,"children":1225},{"id":1224},"verification-checklist-run-after-completion",[1226],{"type":55,"value":1227},"VERIFICATION CHECKLIST - RUN AFTER COMPLETION",{"type":45,"tag":150,"props":1229,"children":1231},{"id":1230},"run-formula-validation",[1232],{"type":55,"value":1233},"Run Formula Validation",{"type":45,"tag":1235,"props":1236,"children":1241},"pre",{"className":1237,"code":1238,"language":1239,"meta":1240,"style":1240},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","python \u002Fmnt\u002Fskills\u002Fpublic\u002Fxlsx\u002Frecalc.py model.xlsx\n","bash","",[1242],{"type":45,"tag":114,"props":1243,"children":1244},{"__ignoreMap":1240},[1245],{"type":45,"tag":1246,"props":1247,"children":1250},"span",{"class":1248,"line":1249},"line",1,[1251,1257,1263],{"type":45,"tag":1246,"props":1252,"children":1254},{"style":1253},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[1255],{"type":55,"value":1256},"python",{"type":45,"tag":1246,"props":1258,"children":1260},{"style":1259},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[1261],{"type":55,"value":1262}," \u002Fmnt\u002Fskills\u002Fpublic\u002Fxlsx\u002Frecalc.py",{"type":45,"tag":1246,"props":1264,"children":1265},{"style":1259},[1266],{"type":55,"value":1267}," model.xlsx\n",{"type":45,"tag":58,"props":1269,"children":1270},{},[1271],{"type":55,"value":1272},"Must return success with zero errors.",{"type":45,"tag":150,"props":1274,"children":1276},{"id":1275},"section-balancing",[1277],{"type":55,"value":1278},"Section Balancing",{"type":45,"tag":165,"props":1280,"children":1283},{"className":1281},[1282],"contains-task-list",[1284,1297,1306],{"type":45,"tag":77,"props":1285,"children":1288},{"className":1286},[1287],"task-list-item",[1289,1295],{"type":45,"tag":1290,"props":1291,"children":1294},"input",{"disabled":1292,"type":1293},true,"checkbox",[],{"type":55,"value":1296}," Any sections that must balance (Sources\u002FUses, Assets\u002FLiabilities) balance exactly",{"type":45,"tag":77,"props":1298,"children":1300},{"className":1299},[1287],[1301,1304],{"type":45,"tag":1290,"props":1302,"children":1303},{"disabled":1292,"type":1293},[],{"type":55,"value":1305}," Plug items are calculated correctly as the balancing figure",{"type":45,"tag":77,"props":1307,"children":1309},{"className":1308},[1287],[1310,1313],{"type":45,"tag":1290,"props":1311,"children":1312},{"disabled":1292,"type":1293},[],{"type":55,"value":1314}," Amounts that should match across sections are consistent",{"type":45,"tag":150,"props":1316,"children":1318},{"id":1317},"incomeoperating-projections",[1319],{"type":55,"value":1320},"Income\u002FOperating Projections",{"type":45,"tag":165,"props":1322,"children":1324},{"className":1323},[1282],[1325,1334,1343,1352,1361],{"type":45,"tag":77,"props":1326,"children":1328},{"className":1327},[1287],[1329,1332],{"type":45,"tag":1290,"props":1330,"children":1331},{"disabled":1292,"type":1293},[],{"type":55,"value":1333}," Revenue\u002Ftop-line builds correctly from drivers or growth rates",{"type":45,"tag":77,"props":1335,"children":1337},{"className":1336},[1287],[1338,1341],{"type":45,"tag":1290,"props":1339,"children":1340},{"disabled":1292,"type":1293},[],{"type":55,"value":1342}," All cost and expense items calculated appropriately",{"type":45,"tag":77,"props":1344,"children":1346},{"className":1345},[1287],[1347,1350],{"type":45,"tag":1290,"props":1348,"children":1349},{"disabled":1292,"type":1293},[],{"type":55,"value":1351}," Subtotals and totals sum correctly",{"type":45,"tag":77,"props":1353,"children":1355},{"className":1354},[1287],[1356,1359],{"type":45,"tag":1290,"props":1357,"children":1358},{"disabled":1292,"type":1293},[],{"type":55,"value":1360}," Margins and ratios are reasonable",{"type":45,"tag":77,"props":1362,"children":1364},{"className":1363},[1287],[1365,1368],{"type":45,"tag":1290,"props":1366,"children":1367},{"disabled":1292,"type":1293},[],{"type":55,"value":1369}," Links to assumptions are correct",{"type":45,"tag":150,"props":1371,"children":1373},{"id":1372},"balance-sheet-if-applicable",[1374],{"type":55,"value":1375},"Balance Sheet (if applicable)",{"type":45,"tag":165,"props":1377,"children":1379},{"className":1378},[1282],[1380,1389,1398,1407],{"type":45,"tag":77,"props":1381,"children":1383},{"className":1382},[1287],[1384,1387],{"type":45,"tag":1290,"props":1385,"children":1386},{"disabled":1292,"type":1293},[],{"type":55,"value":1388}," Assets = Liabilities + Equity (must balance)",{"type":45,"tag":77,"props":1390,"children":1392},{"className":1391},[1287],[1393,1396],{"type":45,"tag":1290,"props":1394,"children":1395},{"disabled":1292,"type":1293},[],{"type":55,"value":1397}," All items link to appropriate schedules or roll-forwards",{"type":45,"tag":77,"props":1399,"children":1401},{"className":1400},[1287],[1402,1405],{"type":45,"tag":1290,"props":1403,"children":1404},{"disabled":1292,"type":1293},[],{"type":55,"value":1406}," Beginning balances = prior period ending balances",{"type":45,"tag":77,"props":1408,"children":1410},{"className":1409},[1287],[1411,1414],{"type":45,"tag":1290,"props":1412,"children":1413},{"disabled":1292,"type":1293},[],{"type":55,"value":1415}," Check row included and shows zero",{"type":45,"tag":150,"props":1417,"children":1419},{"id":1418},"cash-flow-if-applicable",[1420],{"type":55,"value":1421},"Cash Flow (if applicable)",{"type":45,"tag":165,"props":1423,"children":1425},{"className":1424},[1282],[1426,1435,1444,1453,1462],{"type":45,"tag":77,"props":1427,"children":1429},{"className":1428},[1287],[1430,1433],{"type":45,"tag":1290,"props":1431,"children":1432},{"disabled":1292,"type":1293},[],{"type":55,"value":1434}," Starts with correct income figure",{"type":45,"tag":77,"props":1436,"children":1438},{"className":1437},[1287],[1439,1442],{"type":45,"tag":1290,"props":1440,"children":1441},{"disabled":1292,"type":1293},[],{"type":55,"value":1443}," Non-cash items added\u002Fsubtracted appropriately",{"type":45,"tag":77,"props":1445,"children":1447},{"className":1446},[1287],[1448,1451],{"type":45,"tag":1290,"props":1449,"children":1450},{"disabled":1292,"type":1293},[],{"type":55,"value":1452}," Working capital changes have correct signs",{"type":45,"tag":77,"props":1454,"children":1456},{"className":1455},[1287],[1457,1460],{"type":45,"tag":1290,"props":1458,"children":1459},{"disabled":1292,"type":1293},[],{"type":55,"value":1461}," Ending Cash = Beginning Cash + Net Cash Flow",{"type":45,"tag":77,"props":1463,"children":1465},{"className":1464},[1287],[1466,1469],{"type":45,"tag":1290,"props":1467,"children":1468},{"disabled":1292,"type":1293},[],{"type":55,"value":1470}," Cash balances are consistent across statements",{"type":45,"tag":150,"props":1472,"children":1474},{"id":1473},"supporting-schedules",[1475],{"type":55,"value":1476},"Supporting Schedules",{"type":45,"tag":165,"props":1478,"children":1480},{"className":1479},[1282],[1481,1490,1499,1508],{"type":45,"tag":77,"props":1482,"children":1484},{"className":1483},[1287],[1485,1488],{"type":45,"tag":1290,"props":1486,"children":1487},{"disabled":1292,"type":1293},[],{"type":55,"value":1489}," Roll-forward schedules balance (Beginning + Changes = Ending)",{"type":45,"tag":77,"props":1491,"children":1493},{"className":1492},[1287],[1494,1497],{"type":45,"tag":1290,"props":1495,"children":1496},{"disabled":1292,"type":1293},[],{"type":55,"value":1498}," Schedules link correctly to main statements",{"type":45,"tag":77,"props":1500,"children":1502},{"className":1501},[1287],[1503,1506],{"type":45,"tag":1290,"props":1504,"children":1505},{"disabled":1292,"type":1293},[],{"type":55,"value":1507}," Calculated items use appropriate drivers",{"type":45,"tag":77,"props":1509,"children":1511},{"className":1510},[1287],[1512,1515],{"type":45,"tag":1290,"props":1513,"children":1514},{"disabled":1292,"type":1293},[],{"type":55,"value":1516}," All periods are calculated consistently",{"type":45,"tag":150,"props":1518,"children":1520},{"id":1519},"debtfinancing-schedules-if-applicable",[1521],{"type":55,"value":1522},"Debt\u002FFinancing Schedules (if applicable)",{"type":45,"tag":165,"props":1524,"children":1526},{"className":1525},[1282],[1527,1536,1545,1554,1563],{"type":45,"tag":77,"props":1528,"children":1530},{"className":1529},[1287],[1531,1534],{"type":45,"tag":1290,"props":1532,"children":1533},{"disabled":1292,"type":1293},[],{"type":55,"value":1535}," Beginning balances tie to sources or prior period",{"type":45,"tag":77,"props":1537,"children":1539},{"className":1538},[1287],[1540,1543],{"type":45,"tag":1290,"props":1541,"children":1542},{"disabled":1292,"type":1293},[],{"type":55,"value":1544}," Interest calculated on appropriate balance (typically beginning)",{"type":45,"tag":77,"props":1546,"children":1548},{"className":1547},[1287],[1549,1552],{"type":45,"tag":1290,"props":1550,"children":1551},{"disabled":1292,"type":1293},[],{"type":55,"value":1553}," Paydowns respect cash availability and priority",{"type":45,"tag":77,"props":1555,"children":1557},{"className":1556},[1287],[1558,1561],{"type":45,"tag":1290,"props":1559,"children":1560},{"disabled":1292,"type":1293},[],{"type":55,"value":1562}," Ending balances cannot be negative",{"type":45,"tag":77,"props":1564,"children":1566},{"className":1565},[1287],[1567,1570],{"type":45,"tag":1290,"props":1568,"children":1569},{"disabled":1292,"type":1293},[],{"type":55,"value":1571}," Totals sum tranches correctly",{"type":45,"tag":150,"props":1573,"children":1575},{"id":1574},"returnsoutput-analysis",[1576],{"type":55,"value":1577},"Returns\u002FOutput Analysis",{"type":45,"tag":165,"props":1579,"children":1581},{"className":1580},[1282],[1582,1591,1600,1609,1618],{"type":45,"tag":77,"props":1583,"children":1585},{"className":1584},[1287],[1586,1589],{"type":45,"tag":1290,"props":1587,"children":1588},{"disabled":1292,"type":1293},[],{"type":55,"value":1590}," Exit\u002Fterminal values calculated correctly",{"type":45,"tag":77,"props":1592,"children":1594},{"className":1593},[1287],[1595,1598],{"type":45,"tag":1290,"props":1596,"children":1597},{"disabled":1292,"type":1293},[],{"type":55,"value":1599}," All relevant adjustments included",{"type":45,"tag":77,"props":1601,"children":1603},{"className":1602},[1287],[1604,1607],{"type":45,"tag":1290,"props":1605,"children":1606},{"disabled":1292,"type":1293},[],{"type":55,"value":1608}," Cash flow signs are correct (negative for investment, positive for proceeds)",{"type":45,"tag":77,"props":1610,"children":1612},{"className":1611},[1287],[1613,1616],{"type":45,"tag":1290,"props":1614,"children":1615},{"disabled":1292,"type":1293},[],{"type":55,"value":1617}," IRR\u002FMOIC formulas reference complete ranges",{"type":45,"tag":77,"props":1619,"children":1621},{"className":1620},[1287],[1622,1625],{"type":45,"tag":1290,"props":1623,"children":1624},{"disabled":1292,"type":1293},[],{"type":55,"value":1626}," Results are reasonable for the scenario",{"type":45,"tag":150,"props":1628,"children":1630},{"id":1629},"sensitivity-tables-if-applicable",[1631],{"type":55,"value":1632},"Sensitivity Tables (if applicable)",{"type":45,"tag":165,"props":1634,"children":1636},{"className":1635},[1282],[1637,1646,1662,1671,1687,1696,1705,1714],{"type":45,"tag":77,"props":1638,"children":1640},{"className":1639},[1287],[1641,1644],{"type":45,"tag":1290,"props":1642,"children":1643},{"disabled":1292,"type":1293},[],{"type":55,"value":1645}," Grid dimensions are ODD (5×5 or 7×7) — there is a true center cell",{"type":45,"tag":77,"props":1647,"children":1649},{"className":1648},[1287],[1650,1653,1655,1661],{"type":45,"tag":1290,"props":1651,"children":1652},{"disabled":1292,"type":1293},[],{"type":55,"value":1654}," Row and column axis values are symmetric around the base case (",{"type":45,"tag":114,"props":1656,"children":1658},{"className":1657},[],[1659],{"type":55,"value":1660},"[base-2Δ, base-Δ, base, base+Δ, base+2Δ]",{"type":55,"value":290},{"type":45,"tag":77,"props":1663,"children":1665},{"className":1664},[1287],[1666,1669],{"type":45,"tag":1290,"props":1667,"children":1668},{"disabled":1292,"type":1293},[],{"type":55,"value":1670}," Center cell output equals the model's actual IRR\u002FMOIC — confirms the table is wired correctly",{"type":45,"tag":77,"props":1672,"children":1674},{"className":1673},[1287],[1675,1678,1680,1685],{"type":45,"tag":1290,"props":1676,"children":1677},{"disabled":1292,"type":1293},[],{"type":55,"value":1679}," Center cell is highlighted (medium-blue fill ",{"type":45,"tag":114,"props":1681,"children":1683},{"className":1682},[],[1684],{"type":55,"value":644},{"type":55,"value":1686},", bold font)",{"type":45,"tag":77,"props":1688,"children":1690},{"className":1689},[1287],[1691,1694],{"type":45,"tag":1290,"props":1692,"children":1693},{"disabled":1292,"type":1293},[],{"type":55,"value":1695}," Row and column headers contain appropriate input values",{"type":45,"tag":77,"props":1697,"children":1699},{"className":1698},[1287],[1700,1703],{"type":45,"tag":1290,"props":1701,"children":1702},{"disabled":1292,"type":1293},[],{"type":55,"value":1704}," Each data cell contains a formula (not hardcoded)",{"type":45,"tag":77,"props":1706,"children":1708},{"className":1707},[1287],[1709,1712],{"type":45,"tag":1290,"props":1710,"children":1711},{"disabled":1292,"type":1293},[],{"type":55,"value":1713}," Each data cell shows a DIFFERENT value",{"type":45,"tag":77,"props":1715,"children":1717},{"className":1716},[1287],[1718,1721],{"type":45,"tag":1290,"props":1719,"children":1720},{"disabled":1292,"type":1293},[],{"type":55,"value":1722}," Values move in expected directions (higher exit multiple → higher IRR, etc.)",{"type":45,"tag":150,"props":1724,"children":1726},{"id":1725},"formatting",[1727],{"type":55,"value":1728},"Formatting",{"type":45,"tag":165,"props":1730,"children":1732},{"className":1731},[1282],[1733,1742,1751,1760,1769,1778,1787],{"type":45,"tag":77,"props":1734,"children":1736},{"className":1735},[1287],[1737,1740],{"type":45,"tag":1290,"props":1738,"children":1739},{"disabled":1292,"type":1293},[],{"type":55,"value":1741}," Hardcoded inputs are blue (0000FF)",{"type":45,"tag":77,"props":1743,"children":1745},{"className":1744},[1287],[1746,1749],{"type":45,"tag":1290,"props":1747,"children":1748},{"disabled":1292,"type":1293},[],{"type":55,"value":1750}," Calculated formulas are black (000000)",{"type":45,"tag":77,"props":1752,"children":1754},{"className":1753},[1287],[1755,1758],{"type":45,"tag":1290,"props":1756,"children":1757},{"disabled":1292,"type":1293},[],{"type":55,"value":1759}," Same-tab links are purple (800080)",{"type":45,"tag":77,"props":1761,"children":1763},{"className":1762},[1287],[1764,1767],{"type":45,"tag":1290,"props":1765,"children":1766},{"disabled":1292,"type":1293},[],{"type":55,"value":1768}," Cross-tab links are green (008000)",{"type":45,"tag":77,"props":1770,"children":1772},{"className":1771},[1287],[1773,1776],{"type":45,"tag":1290,"props":1774,"children":1775},{"disabled":1292,"type":1293},[],{"type":55,"value":1777}," All numbers are right-aligned",{"type":45,"tag":77,"props":1779,"children":1781},{"className":1780},[1287],[1782,1785],{"type":45,"tag":1290,"props":1783,"children":1784},{"disabled":1292,"type":1293},[],{"type":55,"value":1786}," Appropriate number formats applied throughout",{"type":45,"tag":77,"props":1788,"children":1790},{"className":1789},[1287],[1791,1794],{"type":45,"tag":1290,"props":1792,"children":1793},{"disabled":1292,"type":1293},[],{"type":55,"value":1795}," No cells show error values (#REF!, #DIV\u002F0!, #VALUE!, #NAME?)",{"type":45,"tag":150,"props":1797,"children":1799},{"id":1798},"logical-sanity-checks",[1800],{"type":55,"value":1801},"Logical Sanity Checks",{"type":45,"tag":165,"props":1803,"children":1805},{"className":1804},[1282],[1806,1815,1824,1833],{"type":45,"tag":77,"props":1807,"children":1809},{"className":1808},[1287],[1810,1813],{"type":45,"tag":1290,"props":1811,"children":1812},{"disabled":1292,"type":1293},[],{"type":55,"value":1814}," Numbers are reasonable order of magnitude",{"type":45,"tag":77,"props":1816,"children":1818},{"className":1817},[1287],[1819,1822],{"type":45,"tag":1290,"props":1820,"children":1821},{"disabled":1292,"type":1293},[],{"type":55,"value":1823}," Trends make sense (growth, decline, stabilization as expected)",{"type":45,"tag":77,"props":1825,"children":1827},{"className":1826},[1287],[1828,1831],{"type":45,"tag":1290,"props":1829,"children":1830},{"disabled":1292,"type":1293},[],{"type":55,"value":1832}," No obviously wrong values (negative where should be positive, impossible percentages, etc.)",{"type":45,"tag":77,"props":1834,"children":1836},{"className":1835},[1287],[1837,1840],{"type":45,"tag":1290,"props":1838,"children":1839},{"disabled":1292,"type":1293},[],{"type":55,"value":1841}," Key outputs are within reasonable ranges for the type of analysis",{"type":45,"tag":46,"props":1843,"children":1844},{},[],{"type":45,"tag":50,"props":1846,"children":1848},{"id":1847},"common-errors-to-avoid",[1849],{"type":55,"value":1850},"COMMON ERRORS TO AVOID",{"type":45,"tag":1852,"props":1853,"children":1854},"table",{},[1855,1879],{"type":45,"tag":1856,"props":1857,"children":1858},"thead",{},[1859],{"type":45,"tag":1860,"props":1861,"children":1862},"tr",{},[1863,1869,1874],{"type":45,"tag":1864,"props":1865,"children":1866},"th",{},[1867],{"type":55,"value":1868},"Error",{"type":45,"tag":1864,"props":1870,"children":1871},{},[1872],{"type":55,"value":1873},"What Goes Wrong",{"type":45,"tag":1864,"props":1875,"children":1876},{},[1877],{"type":55,"value":1878},"How to Fix",{"type":45,"tag":1880,"props":1881,"children":1882},"tbody",{},[1883,1902,1920,1938,1956,1974,1992,2010,2028],{"type":45,"tag":1860,"props":1884,"children":1885},{},[1886,1892,1897],{"type":45,"tag":1887,"props":1888,"children":1889},"td",{},[1890],{"type":55,"value":1891},"Hardcoding calculated values",{"type":45,"tag":1887,"props":1893,"children":1894},{},[1895],{"type":55,"value":1896},"Model doesn't update when inputs change",{"type":45,"tag":1887,"props":1898,"children":1899},{},[1900],{"type":55,"value":1901},"Always use formulas that reference source cells",{"type":45,"tag":1860,"props":1903,"children":1904},{},[1905,1910,1915],{"type":45,"tag":1887,"props":1906,"children":1907},{},[1908],{"type":55,"value":1909},"Wrong cell references after copying",{"type":45,"tag":1887,"props":1911,"children":1912},{},[1913],{"type":55,"value":1914},"Formulas point to wrong cells",{"type":45,"tag":1887,"props":1916,"children":1917},{},[1918],{"type":55,"value":1919},"Verify all links, use appropriate $ anchoring",{"type":45,"tag":1860,"props":1921,"children":1922},{},[1923,1928,1933],{"type":45,"tag":1887,"props":1924,"children":1925},{},[1926],{"type":55,"value":1927},"Circular reference errors",{"type":45,"tag":1887,"props":1929,"children":1930},{},[1931],{"type":55,"value":1932},"Model can't calculate",{"type":45,"tag":1887,"props":1934,"children":1935},{},[1936],{"type":55,"value":1937},"Use beginning balances for interest-type calcs, break the circle",{"type":45,"tag":1860,"props":1939,"children":1940},{},[1941,1946,1951],{"type":45,"tag":1887,"props":1942,"children":1943},{},[1944],{"type":55,"value":1945},"Sections don't balance",{"type":45,"tag":1887,"props":1947,"children":1948},{},[1949],{"type":55,"value":1950},"Totals that should match don't",{"type":45,"tag":1887,"props":1952,"children":1953},{},[1954],{"type":55,"value":1955},"Ensure one item is the plug (calculated as difference)",{"type":45,"tag":1860,"props":1957,"children":1958},{},[1959,1964,1969],{"type":45,"tag":1887,"props":1960,"children":1961},{},[1962],{"type":55,"value":1963},"Negative balances where impossible",{"type":45,"tag":1887,"props":1965,"children":1966},{},[1967],{"type":55,"value":1968},"Paying\u002Fusing more than available",{"type":45,"tag":1887,"props":1970,"children":1971},{},[1972],{"type":55,"value":1973},"Use MAX(0, ...) or MIN functions appropriately",{"type":45,"tag":1860,"props":1975,"children":1976},{},[1977,1982,1987],{"type":45,"tag":1887,"props":1978,"children":1979},{},[1980],{"type":55,"value":1981},"IRR\u002Freturn errors",{"type":45,"tag":1887,"props":1983,"children":1984},{},[1985],{"type":55,"value":1986},"Wrong signs or incomplete ranges",{"type":45,"tag":1887,"props":1988,"children":1989},{},[1990],{"type":55,"value":1991},"Check cash flow signs and ensure formula covers all periods",{"type":45,"tag":1860,"props":1993,"children":1994},{},[1995,2000,2005],{"type":45,"tag":1887,"props":1996,"children":1997},{},[1998],{"type":55,"value":1999},"Sensitivity table shows same value",{"type":45,"tag":1887,"props":2001,"children":2002},{},[2003],{"type":55,"value":2004},"Formula not varying with inputs",{"type":45,"tag":1887,"props":2006,"children":2007},{},[2008],{"type":55,"value":2009},"Check cell references - need mixed references ($A5, B$4)",{"type":45,"tag":1860,"props":2011,"children":2012},{},[2013,2018,2023],{"type":45,"tag":1887,"props":2014,"children":2015},{},[2016],{"type":55,"value":2017},"Roll-forwards don't tie",{"type":45,"tag":1887,"props":2019,"children":2020},{},[2021],{"type":55,"value":2022},"Beginning ≠ prior ending",{"type":45,"tag":1887,"props":2024,"children":2025},{},[2026],{"type":55,"value":2027},"Verify links between periods",{"type":45,"tag":1860,"props":2029,"children":2030},{},[2031,2036,2041],{"type":45,"tag":1887,"props":2032,"children":2033},{},[2034],{"type":55,"value":2035},"Inconsistent sign conventions",{"type":45,"tag":1887,"props":2037,"children":2038},{},[2039],{"type":55,"value":2040},"Additions become subtractions or vice versa",{"type":45,"tag":1887,"props":2042,"children":2043},{},[2044],{"type":55,"value":2045},"Follow template's convention consistently throughout",{"type":45,"tag":46,"props":2047,"children":2048},{},[],{"type":45,"tag":50,"props":2050,"children":2052},{"id":2051},"working-with-the-user-section-by-section-checkpoints",[2053],{"type":55,"value":2054},"WORKING WITH THE USER — SECTION-BY-SECTION CHECKPOINTS",{"type":45,"tag":165,"props":2056,"children":2057},{},[2058,2068,2078,2141,2151,2161],{"type":45,"tag":77,"props":2059,"children":2060},{},[2061,2066],{"type":45,"tag":62,"props":2062,"children":2063},{},[2064],{"type":55,"value":2065},"If the template structure is unclear",{"type":55,"value":2067},", ask before proceeding",{"type":45,"tag":77,"props":2069,"children":2070},{},[2071,2076],{"type":45,"tag":62,"props":2072,"children":2073},{},[2074],{"type":55,"value":2075},"If the user's requirements conflict with the template",{"type":55,"value":2077},", confirm their preference",{"type":45,"tag":77,"props":2079,"children":2080},{},[2081,2086,2088],{"type":45,"tag":62,"props":2082,"children":2083},{},[2084],{"type":55,"value":2085},"After completing each major section",{"type":55,"value":2087},", STOP and verify with the user before continuing:\n",{"type":45,"tag":165,"props":2089,"children":2090},{},[2091,2101,2111,2121,2131],{"type":45,"tag":77,"props":2092,"children":2093},{},[2094,2099],{"type":45,"tag":62,"props":2095,"children":2096},{},[2097],{"type":55,"value":2098},"After Sources & Uses",{"type":55,"value":2100}," → show the balanced table, confirm the plug is correct, get sign-off before building the operating model",{"type":45,"tag":77,"props":2102,"children":2103},{},[2104,2109],{"type":45,"tag":62,"props":2105,"children":2106},{},[2107],{"type":55,"value":2108},"After Operating Model \u002F Projections",{"type":55,"value":2110}," → show the projected P&L, confirm growth rates and margins look right, get sign-off before the debt schedule",{"type":45,"tag":77,"props":2112,"children":2113},{},[2114,2119],{"type":45,"tag":62,"props":2115,"children":2116},{},[2117],{"type":55,"value":2118},"After Debt Schedule",{"type":55,"value":2120}," → show beginning\u002Fending balances and interest, confirm the waterfall logic, get sign-off before returns",{"type":45,"tag":77,"props":2122,"children":2123},{},[2124,2129],{"type":45,"tag":62,"props":2125,"children":2126},{},[2127],{"type":55,"value":2128},"After Returns (IRR\u002FMOIC)",{"type":55,"value":2130}," → show the cash flow series and outputs, confirm signs and ranges, get sign-off before sensitivity tables",{"type":45,"tag":77,"props":2132,"children":2133},{},[2134,2139],{"type":45,"tag":62,"props":2135,"children":2136},{},[2137],{"type":55,"value":2138},"After Sensitivity Tables",{"type":55,"value":2140}," → show that each cell varies, confirm the base case lands where expected",{"type":45,"tag":77,"props":2142,"children":2143},{},[2144,2149],{"type":45,"tag":62,"props":2145,"children":2146},{},[2147],{"type":55,"value":2148},"If errors are found during verification",{"type":55,"value":2150},", fix them before moving to the next section",{"type":45,"tag":77,"props":2152,"children":2153},{},[2154,2159],{"type":45,"tag":62,"props":2155,"children":2156},{},[2157],{"type":55,"value":2158},"Show your work",{"type":55,"value":2160}," - explain key formulas or assumptions when helpful",{"type":45,"tag":77,"props":2162,"children":2163},{},[2164,2169],{"type":45,"tag":62,"props":2165,"children":2166},{},[2167],{"type":55,"value":2168},"Never present a completed model without having checked in at each section",{"type":55,"value":2170}," — it's faster to catch a wrong cell reference at the source than to trace it backwards from a broken IRR",{"type":45,"tag":46,"props":2172,"children":2173},{},[],{"type":45,"tag":58,"props":2175,"children":2176},{},[2177],{"type":45,"tag":62,"props":2178,"children":2179},{},[2180],{"type":55,"value":2181},"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.",{"type":45,"tag":2183,"props":2184,"children":2185},"style",{},[2186],{"type":55,"value":2187},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":2189,"total":2295},[2190,2203,2220,2237,2252,2269,2279],{"slug":2191,"name":2191,"fn":2192,"description":2193,"org":2194,"tags":2195,"stars":29,"repoUrl":30,"updatedAt":2202},"3-statement-model","fill out 3-statement financial models","Complete, populate and fill out 3-statement financial model templates (Income Statement, Balance Sheet, Cash Flow Statement) . Use when asked to fill out model templates, complete existing model frameworks, populate financial models with data, complete a partially filled IS\u002FBS\u002FCF framework, or link integrated financial statements within an existing template structure. Triggers include requests to fill in, complete, or populate a 3-statement model template",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2196,2197,2198,2199],{"name":21,"slug":22,"type":16},{"name":24,"slug":25,"type":16},{"name":14,"slug":15,"type":16},{"name":2200,"slug":2201,"type":16},"Financial Statements","financial-statements","2026-05-15T06:08:35.416766",{"slug":2204,"name":2204,"fn":2205,"description":2206,"org":2207,"tags":2208,"stars":29,"repoUrl":30,"updatedAt":2219},"accrual-schedule","build period-end accrual schedules","Build the period-end accrual schedule — for each accrual, compute the entry, cite the support, and draft the JE. Use during month-end close; the JE is a draft for controller approval, not a posting.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2209,2212,2213,2216],{"name":2210,"slug":2211,"type":16},"Accounting","accounting",{"name":24,"slug":25,"type":16},{"name":2214,"slug":2215,"type":16},"Journal Entry","journal-entry",{"name":2217,"slug":2218,"type":16},"Month-End Close","month-end-close","2026-05-06T05:38:41.445686",{"slug":2221,"name":2221,"fn":2222,"description":2223,"org":2224,"tags":2225,"stars":29,"repoUrl":30,"updatedAt":2236},"ai-readiness","identify AI opportunities in portfolio companies","Scan the portfolio for the highest-leverage AI opportunities and rank where to deploy operating-partner time. Ingests quarterly updates and financials across multiple portfolio companies, identifies quick wins at each, and stacks them into a single ranked action list. Use during quarterly portfolio reviews, annual planning, or when deciding which companies get AI investment first. Triggers on \"AI readiness\", \"AI opportunity scan\", \"where should we deploy AI\", \"AI across the portfolio\", \"AI quick wins\", or \"which portcos are ready for AI\".",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2226,2229,2232,2233],{"name":2227,"slug":2228,"type":16},"AI Infrastructure","ai-infrastructure",{"name":2230,"slug":2231,"type":16},"Operations","operations",{"name":27,"slug":28,"type":16},{"name":2234,"slug":2235,"type":16},"Strategy","strategy","2026-05-21T06:50:36.056814",{"slug":2238,"name":2238,"fn":2239,"description":2240,"org":2241,"tags":2242,"stars":29,"repoUrl":30,"updatedAt":2251},"audit-xls","audit spreadsheets for formula accuracy","Audit a spreadsheet for formula accuracy, errors, and common mistakes. Scopes to a selected range, a single sheet, or the entire model (including financial-model integrity checks like BS balance, cash tie-out, and logic sanity). Triggers on \"audit this sheet\", \"check my formulas\", \"find formula errors\", \"QA this spreadsheet\", \"sanity check this\", \"debug model\", \"model check\", \"model won't balance\", \"something's off in my model\", \"model review\".",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2243,2246,2247,2248],{"name":2244,"slug":2245,"type":16},"Audit","audit",{"name":21,"slug":22,"type":16},{"name":24,"slug":25,"type":16},{"name":2249,"slug":2250,"type":16},"Spreadsheets","spreadsheets","2026-05-15T06:07:23.536125",{"slug":2253,"name":2253,"fn":2254,"description":2255,"org":2256,"tags":2257,"stars":29,"repoUrl":30,"updatedAt":2268},"bond-futures-basis","analyze bond futures basis","Analyze the bond futures basis by pricing futures, identifying the cheapest-to-deliver, and comparing with yield curves to assess delivery option value and basis trading opportunities. Use when analyzing bond futures, computing the basis, identifying CTD bonds, calculating implied repo rates, or evaluating basis trades.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2258,2261,2262,2265],{"name":2259,"slug":2260,"type":16},"Derivatives","derivatives",{"name":24,"slug":25,"type":16},{"name":2263,"slug":2264,"type":16},"Fixed Income","fixed-income",{"name":2266,"slug":2267,"type":16},"Trading","trading","2026-05-15T06:08:13.647174",{"slug":2270,"name":2270,"fn":2271,"description":2272,"org":2273,"tags":2274,"stars":29,"repoUrl":30,"updatedAt":2278},"bond-relative-value","perform bond relative value analysis","Perform relative value analysis on bonds by combining pricing, yield curve context, credit spreads, and scenario stress testing. Use when analyzing bond richness\u002Fcheapness, computing spread decomposition, comparing bonds, assessing bond value vs curves, or running rate shock scenarios.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2275,2276,2277],{"name":24,"slug":25,"type":16},{"name":2263,"slug":2264,"type":16},{"name":2266,"slug":2267,"type":16},"2026-05-15T06:08:11.151011",{"slug":2280,"name":2280,"fn":2281,"description":2282,"org":2283,"tags":2284,"stars":29,"repoUrl":30,"updatedAt":2294},"break-trace","trace reconciliation breaks to source transactions","Root-cause a reconciliation break to its source transaction or posting — follow the audit trail from the break row back to the originating entry on each side and state what differs and why. Use after gl-recon has classified a break.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2285,2286,2287,2290,2291],{"name":2210,"slug":2211,"type":16},{"name":2244,"slug":2245,"type":16},{"name":2288,"slug":2289,"type":16},"Debugging","debugging",{"name":24,"slug":25,"type":16},{"name":2292,"slug":2293,"type":16},"Reconciliation","reconciliation","2026-05-06T05:37:42.364074",62,{"items":2297,"total":2484},[2298,2319,2333,2345,2364,2377,2398,2418,2432,2447,2455,2468],{"slug":2299,"name":2299,"fn":2300,"description":2301,"org":2302,"tags":2303,"stars":2316,"repoUrl":2317,"updatedAt":2318},"algorithmic-art","create algorithmic art with p5.js","Creating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems. Create original algorithmic art rather than copying existing artists' work to avoid copyright violations.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2304,2307,2310,2313],{"name":2305,"slug":2306,"type":16},"Creative","creative",{"name":2308,"slug":2309,"type":16},"Design","design",{"name":2311,"slug":2312,"type":16},"Generative Art","generative-art",{"name":2314,"slug":2315,"type":16},"JavaScript","javascript",161831,"https:\u002F\u002Fgithub.com\u002Fanthropics\u002Fskills","2026-04-06T17:56:15.455818",{"slug":2320,"name":2320,"fn":2321,"description":2322,"org":2323,"tags":2324,"stars":2316,"repoUrl":2317,"updatedAt":2332},"brand-guidelines","apply Anthropic brand colors and typography","Applies Anthropic's official brand colors and typography to any sort of artifact that may benefit from having Anthropic's look-and-feel. Use it when brand colors or style guidelines, visual formatting, or company design standards apply.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2325,2328,2329],{"name":2326,"slug":2327,"type":16},"Branding","branding",{"name":2308,"slug":2309,"type":16},{"name":2330,"slug":2331,"type":16},"Typography","typography","2026-04-06T17:56:05.042852",{"slug":2334,"name":2334,"fn":2335,"description":2336,"org":2337,"tags":2338,"stars":2316,"repoUrl":2317,"updatedAt":2344},"canvas-design","create posters and visual art as PNG or PDF","Create beautiful visual art in .png and .pdf documents using design philosophy. You should use this skill when the user asks to create a poster, piece of art, design, or other static piece. Create original visual designs, never copying existing artists' work to avoid copyright violations.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2339,2340,2341],{"name":2305,"slug":2306,"type":16},{"name":2308,"slug":2309,"type":16},{"name":2342,"slug":2343,"type":16},"PDF","pdf","2026-04-06T17:56:03.794732",{"slug":2346,"name":2346,"fn":2347,"description":2348,"org":2349,"tags":2350,"stars":2316,"repoUrl":2317,"updatedAt":2363},"claude-api","build apps with the Claude API","Reference for the Claude API \u002F Anthropic SDK — model ids, pricing, params, streaming, tool use, MCP, agents, caching, token counting, model migration.\nTRIGGER — read BEFORE opening the target file; don't skip because it \"looks like a one-liner\" — whenever: the prompt names Claude\u002FAnthropic in any form (Claude, Anthropic, Fable, Opus, Sonnet, Haiku, `anthropic`, `@anthropic-ai`, `claude-*`, `us.anthropic.*`, `[1m]`); the user asks about an LLM (pricing\u002Fmodel choice\u002Flimits\u002Fcaching) — never answer from memory; OR the task is LLM-shaped with provider unstated (agent\u002FMCP\u002Ftool-definition\u002Fmulti-agent\u002FRAG\u002FLLM-judge\u002Fcomputer-use; generate\u002Fsummarize\u002Fextract\u002Fclassify\u002Frewrite\u002Fconverse over NL; debugging refusals\u002Fcutoffs\u002Fstreaming\u002Ftool-calls\u002Ftokens).\nSKIP only when another provider is being worked on (overrides all triggers): OpenAI\u002FGPT\u002FGemini\u002FLlama\u002FMistral\u002FCohere\u002FOllama named in the query; OR `grep -rE 'openai|langchain_openai|google.generativeai|genai|mistralai|cohere|ollama'` over the project hits (run this grep FIRST if no provider named — don't Read the file).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2351,2354,2355,2358,2360],{"name":2352,"slug":2353,"type":16},"Agents","agents",{"name":9,"slug":8,"type":16},{"name":2356,"slug":2357,"type":16},"Anthropic SDK","anthropic-sdk",{"name":2359,"slug":2346,"type":16},"Claude API",{"name":2361,"slug":2362,"type":16},"LLM","llm","2026-07-28T05:36:08.213335",{"slug":2365,"name":2365,"fn":2366,"description":2367,"org":2368,"tags":2369,"stars":2316,"repoUrl":2317,"updatedAt":2376},"doc-coauthoring","co-author documentation and technical specs","Guide users through a structured workflow for co-authoring documentation. Use when user wants to write documentation, proposals, technical specs, decision docs, or similar structured content. This workflow helps users efficiently transfer context, refine content through iteration, and verify the doc works for readers. Trigger when user mentions writing docs, creating proposals, drafting specs, or similar documentation tasks.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2370,2373],{"name":2371,"slug":2372,"type":16},"Documentation","documentation",{"name":2374,"slug":2375,"type":16},"Technical Writing","technical-writing","2026-04-06T17:56:14.18897",{"slug":2378,"name":2378,"fn":2379,"description":2380,"org":2381,"tags":2382,"stars":2316,"repoUrl":2317,"updatedAt":2397},"docx","create and edit Word documents","Use this skill whenever the user wants to create, read, edit, or manipulate Word documents (.docx files) or Word templates (.dotx files). Triggers include: any mention of 'Word doc', 'word document', '.docx', '.dotx', or requests to produce professional documents with formatting like tables of contents, headings, page numbers, or letterheads. Also use when extracting or reorganizing content from .docx or .dotx files, inserting or replacing images in documents, performing find-and-replace in Word files, working with tracked changes or comments, or converting content into a polished Word document. If the user asks for a 'report', 'memo', 'letter', 'template', or similar deliverable as a Word or .docx file, use this skill. Do NOT use for PDFs, spreadsheets, Google Docs, or general coding tasks unrelated to document generation.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2383,2386,2388,2391,2394],{"name":2384,"slug":2385,"type":16},"Documents","documents",{"name":2387,"slug":2378,"type":16},"DOCX",{"name":2389,"slug":2390,"type":16},"Office","office",{"name":2392,"slug":2393,"type":16},"Templates","templates",{"name":2395,"slug":2396,"type":16},"Word","word","2026-07-18T05:16:23.136271",{"slug":2399,"name":2399,"fn":2400,"description":2401,"org":2402,"tags":2403,"stars":2316,"repoUrl":2317,"updatedAt":2417},"frontend-design","design production-grade frontend interfaces","Guidance for distinctive, intentional visual design when building new UI or reshaping an existing one. Helps with aesthetic direction, typography, and making choices that don't read as templated defaults.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2404,2405,2408,2411,2414],{"name":2308,"slug":2309,"type":16},{"name":2406,"slug":2407,"type":16},"Frontend","frontend",{"name":2409,"slug":2410,"type":16},"React","react",{"name":2412,"slug":2413,"type":16},"Tailwind CSS","tailwind-css",{"name":2415,"slug":2416,"type":16},"UI Components","ui-components","2026-04-06T17:56:16.723469",{"slug":2419,"name":2419,"fn":2420,"description":2421,"org":2422,"tags":2423,"stars":2316,"repoUrl":2317,"updatedAt":2431},"internal-comms","write internal company communications","A set of resources to help me write all kinds of internal communications, using the formats that my company likes to use. Claude should use this skill whenever asked to write some sort of internal communications (status reports, leadership updates, 3P updates, company newsletters, FAQs, incident reports, project updates, etc.).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2424,2427,2428],{"name":2425,"slug":2426,"type":16},"Communications","communications",{"name":2392,"slug":2393,"type":16},{"name":2429,"slug":2430,"type":16},"Writing","writing","2026-04-06T17:56:20.695522",{"slug":2433,"name":2433,"fn":2434,"description":2435,"org":2436,"tags":2437,"stars":2316,"repoUrl":2317,"updatedAt":2446},"mcp-builder","build MCP servers","Guide for creating high-quality MCP (Model Context Protocol) servers that enable LLMs to interact with external services through well-designed tools. Use when building MCP servers to integrate external APIs or services, whether in Python (FastMCP) or Node\u002FTypeScript (MCP SDK).",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2438,2439,2442,2443],{"name":2352,"slug":2353,"type":16},{"name":2440,"slug":2441,"type":16},"API Development","api-development",{"name":2361,"slug":2362,"type":16},{"name":2444,"slug":2445,"type":16},"MCP","mcp","2026-04-06T17:56:10.357665",{"slug":2343,"name":2343,"fn":2448,"description":2449,"org":2450,"tags":2451,"stars":2316,"repoUrl":2317,"updatedAt":2454},"read edit and manipulate PDF files","Use this skill whenever the user wants to do anything with PDF files. This includes reading or extracting text\u002Ftables from PDFs, combining or merging multiple PDFs into one, splitting PDFs apart, rotating pages, adding watermarks, creating new PDFs, filling PDF forms, encrypting\u002Fdecrypting PDFs, extracting images, and OCR on scanned PDFs to make them searchable. If the user mentions a .pdf file or asks to produce one, use this skill.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2452,2453],{"name":2384,"slug":2385,"type":16},{"name":2342,"slug":2343,"type":16},"2026-04-06T17:56:02.483316",{"slug":2456,"name":2456,"fn":2457,"description":2458,"org":2459,"tags":2460,"stars":2316,"repoUrl":2317,"updatedAt":2467},"pptx","create and edit PowerPoint presentations","Use this skill any time a .pptx or .potx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx or .potx file (even if the extracted content will be used elsewhere, like in an email or summary); editing, modifying, or updating existing presentations; combining or splitting slide files; working with templates (.potx), layouts, speaker notes, or comments. Trigger whenever the user mentions \"deck,\" \"slides,\" \"presentation,\" or references a .pptx or .potx filename, regardless of what they plan to do with the content afterward. If a .pptx or .potx file needs to be opened, created, or touched, use this skill.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2461,2464],{"name":2462,"slug":2463,"type":16},"PowerPoint","powerpoint",{"name":2465,"slug":2466,"type":16},"Presentations","presentations","2026-07-18T05:16:24.1471",{"slug":2469,"name":2469,"fn":2470,"description":2471,"org":2472,"tags":2473,"stars":2316,"repoUrl":2317,"updatedAt":2483},"skill-creator","create and optimize agent skills","Create new skills, modify and improve existing skills, and measure skill performance. Use when users want to create a skill from scratch, edit, or optimize an existing skill, run evals to test a skill, benchmark skill performance with variance analysis, or optimize a skill's description for better triggering accuracy.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":11},[2474,2475,2476,2479,2482],{"name":2352,"slug":2353,"type":16},{"name":2371,"slug":2372,"type":16},{"name":2477,"slug":2478,"type":16},"Evals","evals",{"name":2480,"slug":2481,"type":16},"Performance","performance",{"name":2374,"slug":2375,"type":16},"2026-04-19T06:45:40.804",490]