Initial commit: add all skills files

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-10 16:52:49 +08:00
commit 6487becf60
396 changed files with 108871 additions and 0 deletions

View File

@@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
workbook.xml.rels — Maps each sheet r:id to its worksheet XML file.
When adding a new sheet:
- Add: <Relationship Id="rId2" Type="...worksheet" Target="worksheets/sheet2.xml"/>
- The Id must match the r:id in workbook.xml <sheet> element
-->
<Relationships xmlns="http://schemas.openxmlformats.org/package/2006/relationships">
<Relationship Id="rId1"
Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet"
Target="worksheets/sheet1.xml"/>
<Relationship Id="rId2"
Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles"
Target="styles.xml"/>
<Relationship Id="rId3"
Type="http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings"
Target="sharedStrings.xml"/>
</Relationships>

View File

@@ -0,0 +1,33 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
sharedStrings.xml — The shared string table.
All text values in cells use this table. Instead of storing text directly
in the cell, each text string is stored here once, and cells reference it
by 0-based index:
<c r="A1" t="s"><v>0</v></c> → first string in this table
To add strings:
1. Append a new <si><t>Your Text</t></si> element
2. Increment both `count` and `uniqueCount` attributes
3. Use the new string's 0-based index in the cell's <v> element
Special characters in text:
- & → &amp;
- < → &lt;
- > → &gt;
- Leading/trailing spaces → use xml:space="preserve": <t xml:space="preserve"> text </t>
count = total number of string references across the workbook
uniqueCount = number of unique strings in this table
(They may differ if some strings are used in multiple cells)
-->
<sst xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"
count="0" uniqueCount="0">
<!-- Strings will be added here. Example:
<si><t>Revenue</t></si>
<si><t>Cost of Goods Sold</t></si>
<si><t>Gross Profit</t></si>
-->
</sst>

View File

@@ -0,0 +1,160 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
styles.xml — The complete style system for this workbook.
Style index (cellXfs) lookup table:
┌───────┬─────────────────────────────────┬────────────────┬───────────────────┐
│ Index │ Semantic Role │ Font Color │ Number Format │
├───────┼─────────────────────────────────┼────────────────┼───────────────────┤
│ 0 │ Default │ Theme (black) │ General │
│ 1 │ Input / Assumption │ Blue 000000FF │ General │
│ 2 │ Formula / Computed result │ Black 00000000 │ General │
│ 3 │ Cross-sheet reference │ Green 00008000 │ General │
│ 4 │ Header (bold) │ Black bold │ General │
│ 5 │ Currency input │ Blue 000000FF │ $#,##0 (id=164) │
│ 6 │ Currency formula │ Black │ $#,##0 (id=164) │
│ 7 │ Percentage input │ Blue 000000FF │ 0.0% (id=165) │
│ 8 │ Percentage formula │ Black │ 0.0% (id=165) │
│ 9 │ Integer with commas input │ Blue 000000FF │ #,##0 (id=167) │
│ 10 │ Integer with commas formula │ Black │ #,##0 (id=167) │
│ 11 │ Year (no comma) — input │ Blue 000000FF │ 0 (id=1) │
│ 12 │ Key assumption (yellow bg) │ Blue 000000FF │ General + yellow │
└───────┴─────────────────────────────────┴────────────────┴───────────────────┘
To add a new style:
1. If needed, add a <numFmt> to <numFmts> with a new numFmtId >= 164 (increment max)
2. If needed, add a <font> to <fonts>
3. If needed, add a <fill> to <fills>
4. Append a new <xf> to <cellXfs>, combining fontId + fillId + numFmtId
5. Update the count attributes on <numFmts>, <fonts>, <fills>, <cellXfs>
6. The new xf's index = (old cellXfs count) — use this as the s attribute on cells
CRITICAL RULES:
- fills[0] and fills[1] are REQUIRED BY SPEC — never remove them
- Do NOT modify existing <xf> entries — only append new ones
- AARRGGBB color format: first 2 hex digits = Alpha (00 = opaque)
-->
<styleSheet xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main">
<!-- ── Number Formats ─────────────────────────────────────────────────── -->
<!-- Built-in IDs 0-163 need NOT be declared here. Custom formats: 164+ -->
<numFmts count="4">
<!-- 164: Standard currency — positive $1,234 / negative ($1,234) / zero - -->
<numFmt numFmtId="164" formatCode="$#,##0;($#,##0);&quot;-&quot;"/>
<!-- 165: Percentage with 1 decimal place -->
<numFmt numFmtId="165" formatCode="0.0%"/>
<!-- 166: Multiplier / ratio (e.g. 8.5x for EV/EBITDA) -->
<numFmt numFmtId="166" formatCode="0.0x"/>
<!-- 167: Integer with thousands separator, no decimals -->
<numFmt numFmtId="167" formatCode="#,##0"/>
</numFmts>
<!-- ── Fonts ──────────────────────────────────────────────────────────── -->
<fonts count="5">
<!-- 0: Default (theme color, no explicit color) -->
<font>
<sz val="11"/>
<name val="Calibri"/>
</font>
<!-- 1: Input / Assumption — Blue -->
<font>
<sz val="11"/>
<name val="Calibri"/>
<color rgb="000000FF"/>
</font>
<!-- 2: Formula / Computed result — Black (explicit) -->
<font>
<sz val="11"/>
<name val="Calibri"/>
<color rgb="00000000"/>
</font>
<!-- 3: Cross-sheet reference — Green -->
<font>
<sz val="11"/>
<name val="Calibri"/>
<color rgb="00008000"/>
</font>
<!-- 4: Header — Bold Black -->
<font>
<b/>
<sz val="11"/>
<name val="Calibri"/>
<color rgb="00000000"/>
</font>
</fonts>
<!-- ── Fills ──────────────────────────────────────────────────────────── -->
<!-- fills[0] and fills[1] are REQUIRED by OOXML spec — DO NOT REMOVE -->
<fills count="3">
<fill><patternFill patternType="none"/></fill>
<fill><patternFill patternType="gray125"/></fill>
<!-- 2: Yellow highlight for key assumptions requiring review -->
<fill>
<patternFill patternType="solid">
<fgColor rgb="00FFFF00"/>
<bgColor indexed="64"/>
</patternFill>
</fill>
</fills>
<!-- ── Borders ────────────────────────────────────────────────────────── -->
<borders count="1">
<!-- 0: No borders (default) -->
<border>
<left/>
<right/>
<top/>
<bottom/>
<diagonal/>
</border>
</borders>
<!-- ── Cell Style Xfs (base styles) ──────────────────────────────────── -->
<cellStyleXfs count="1">
<xf numFmtId="0" fontId="0" fillId="0" borderId="0"/>
</cellStyleXfs>
<!-- ── Cell Xfs (the actual style slots referenced by <c s="N">) ──────── -->
<cellXfs count="13">
<!-- 0: Default -->
<xf numFmtId="0" fontId="0" fillId="0" borderId="0" xfId="0"/>
<!-- 1: Input / Assumption (blue, general format) -->
<xf numFmtId="0" fontId="1" fillId="0" borderId="0" xfId="0" applyFont="1"/>
<!-- 2: Formula / Computed (black, general format) -->
<xf numFmtId="0" fontId="2" fillId="0" borderId="0" xfId="0" applyFont="1"/>
<!-- 3: Cross-sheet reference (green, general format) -->
<xf numFmtId="0" fontId="3" fillId="0" borderId="0" xfId="0" applyFont="1"/>
<!-- 4: Header (bold black) -->
<xf numFmtId="0" fontId="4" fillId="0" borderId="0" xfId="0" applyFont="1"/>
<!-- 5: Currency input (blue + $#,##0) -->
<xf numFmtId="164" fontId="1" fillId="0" borderId="0" xfId="0"
applyFont="1" applyNumberFormat="1"/>
<!-- 6: Currency formula (black + $#,##0) -->
<xf numFmtId="164" fontId="2" fillId="0" borderId="0" xfId="0"
applyFont="1" applyNumberFormat="1"/>
<!-- 7: Percentage input (blue + 0.0%) -->
<xf numFmtId="165" fontId="1" fillId="0" borderId="0" xfId="0"
applyFont="1" applyNumberFormat="1"/>
<!-- 8: Percentage formula (black + 0.0%) -->
<xf numFmtId="165" fontId="2" fillId="0" borderId="0" xfId="0"
applyFont="1" applyNumberFormat="1"/>
<!-- 9: Integer-with-commas input (blue + #,##0) -->
<xf numFmtId="167" fontId="1" fillId="0" borderId="0" xfId="0"
applyFont="1" applyNumberFormat="1"/>
<!-- 10: Integer-with-commas formula (black + #,##0) -->
<xf numFmtId="167" fontId="2" fillId="0" borderId="0" xfId="0"
applyFont="1" applyNumberFormat="1"/>
<!-- 11: Year column input (blue + plain integer "0", no comma) -->
<xf numFmtId="1" fontId="1" fillId="0" borderId="0" xfId="0"
applyFont="1" applyNumberFormat="1"/>
<!-- 12: Key assumption highlight (blue on yellow — needs human review) -->
<xf numFmtId="0" fontId="1" fillId="2" borderId="0" xfId="0"
applyFont="1" applyFill="1"/>
</cellXfs>
<!-- ── Named Cell Styles ─────────────────────────────────────────────── -->
<cellStyles count="1">
<cellStyle name="Normal" xfId="0" builtinId="0"/>
</cellStyles>
</styleSheet>

View File

@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
workbook.xml — Defines the list of sheets.
To add a new sheet:
1. Add a <sheet> element below with a unique sheetId and r:id
2. Add a matching <Relationship> in xl/_rels/workbook.xml.rels
3. Add an <Override> in [Content_Types].xml
4. Create the xl/worksheets/sheetN.xml file
Sheet name rules:
- Max 31 characters
- Cannot contain: / \ ? * [ ] :
- Ampersand must be escaped as &amp; in XML
-->
<workbook
xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"
xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships">
<fileVersion appName="xl" lastEdited="7" lowestEdited="7"/>
<workbookPr defaultThemeVersion="166925"/>
<bookViews>
<workbookView xWindow="0" yWindow="0" windowWidth="20140" windowHeight="10960"/>
</bookViews>
<sheets>
<!-- Add more <sheet> elements here for multi-sheet workbooks -->
<sheet name="Sheet1" sheetId="1" r:id="rId1"/>
</sheets>
<!-- calcId ensures Excel recalculates formulas on open -->
<calcPr calcId="191029"/>
</workbook>

View File

@@ -0,0 +1,70 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
sheet1.xml — Worksheet data.
Cell anatomy:
<c r="A1" t="s" s="4"><v>0</v></c>
↑ ↑ ↑ ↑
address type style value (sharedStrings index for t="s")
Type values (t attribute):
s = shared string (text) — <v> contains index into sharedStrings.xml
inlineStr = inline string — use <is><t>text</t></is> instead of <v>
n (or omit)= number — <v> contains the raw number
b = boolean — <v> is 1 (TRUE) or 0 (FALSE)
e = error — <v> contains error string like #REF!
(no t) = formula cell — <f> contains formula (NO leading =), <v> is cache
Formula cells:
<c r="B5" s="2"><f>SUM(B2:B4)</f><v></v></c>
Cross-sheet: <c r="C1" s="3"><f>Assumptions!B2</f><v></v></c>
With spaces: <c r="C1" s="3"><f>'Q1 Data'!B2</f><v></v></c>
Style index (s attribute) — pre-built in styles.xml:
0 = default
1 = input/assumption (blue font)
2 = formula/computed (black font)
3 = cross-sheet reference (green font)
4 = header bold
5 = currency input (blue + $#,##0 format)
See styles.xml for the full list and how to add more.
Row r attribute must be 1-based integer.
Column letters: A=1, Z=26, AA=27, AZ=52, BA=53, BZ=78, etc.
-->
<worksheet
xmlns="http://schemas.openxmlformats.org/spreadsheetml/2006/main"
xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships">
<sheetViews>
<sheetView tabSelected="1" workbookViewId="0">
<!-- Freeze top row as header: -->
<!-- <pane ySplit="1" topLeftCell="A2" activePane="bottomLeft" state="frozen"/> -->
</sheetView>
</sheetViews>
<sheetFormatPr defaultRowHeight="15" x14ac:dyDescent="0.25"
xmlns:x14ac="http://schemas.microsoft.com/office/spreadsheetml/2009/9/ac"/>
<!-- Column widths — uncomment and adjust as needed:
<cols>
<col min="1" max="1" width="24" customWidth="1"/>
<col min="2" max="10" width="14" customWidth="1"/>
</cols>
-->
<sheetData>
<!-- Replace this placeholder with actual data rows.
Example:
<row r="1">
<c r="A1" t="s" s="4"><v>0</v></c>
<c r="B1" t="s" s="4"><v>1</v></c>
</row>
<row r="2">
<c r="A2" t="s" s="1"><v>2</v></c>
<c r="B2" s="1"><v>1000</v></c>
</row>
<row r="3">
<c r="A3" t="s" s="2"><v>3</v></c>
<c r="B3" s="2"><f>B2*1.1</f><v></v></c>
</row>
-->
</sheetData>
<pageMargins left="0.7" right="0.7" top="0.75" bottom="0.75" header="0.3" footer="0.3"/>
</worksheet>