[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M7137P7DFZKT1SDG5AD4RSVN":3,"skill-same:01M7137P7DFZKT1SDG5AD4RSVN":105},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":44,"linkOnly":45,"markdownContent":46,"markdownBody":47,"frontMatter":48,"refName":49,"commitSha":50,"skillDirectory":51,"forksCount":52,"repositoryHtmlUrl":53,"repositoryHomepageUrl":6,"ownerHtmlUrl":54,"ownerBlogUrl":6,"ownerDescription":55,"updatedAt":56,"install":57,"resources":70},"01M7137P7DFZKT1SDG5AD4RSVN","loss-reserve-analysis",null,"Perform a loss reserve analysis on P&C insurance loss development triangles. Use this skill whenever the user uploads loss triangles (paid or incurred), Schedule P data, or asks about reserve adequacy, reserve sufficiency, IBNR estimation, loss development analysis, loss reserve review, or ultimate loss projections. Also trigger when the user mentions chain ladder, Bornhuetter-Ferguson, Cape Cod, loss development factors, tail factors, or actuarial reserving methods. This skill reads triangles from Excel or CSV, runs multiple standard actuarial methods, diagnoses unusual patterns, and produces a formatted Excel report with exhibits. Even if the user just says 'check my reserves', 'run development on this triangle', or 'analyze my loss reserves', use this skill.","FDU-INS\u002FInsurance-Skills","FDU-INS","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F167067594?v=4","01M6XEYMRS4CVJMZ834YWE66BV","FDU-Insurance","01M6XEYMXPDA34HFM0ZE6AY78G",82,"Apache-2.0","https:\u002F\u002Fgithub.com\u002FFDU-INS\u002FInsurance-Skills\u002Fblob\u002Fmain\u002FSkills\u002Floss-reserve-analysis\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000004","电子表格","SCENARIO","使用场景",[24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43],"loss reserve analysis","analysis","reserve","patterns","actuarial","paid","insurance","when","my","chain","estimation","xlsx","schedule","just","analyze","cape","data","run","development","review","2026-11-10 10:12:30",false,"---\nname: loss-reserve-analysis\ndescription: \"Perform a loss reserve analysis on P&C insurance loss development triangles. Use this skill whenever the user uploads loss triangles (paid or incurred), Schedule P data, or asks about reserve adequacy, reserve sufficiency, IBNR estimation, loss development analysis, loss reserve review, or ultimate loss projections. Also trigger when the user mentions chain ladder, Bornhuetter-Ferguson, Cape Cod, loss development factors, tail factors, or actuarial reserving methods. This skill reads triangles from Excel or CSV, runs multiple standard actuarial methods, diagnoses unusual patterns, and produces a formatted Excel report with exhibits. Even if the user just says 'check my reserves', 'run development on this triangle', or 'analyze my loss reserves', use this skill.\"\n---\n\n# Loss Reserve Analysis\n\n## Purpose\n\nAnalyze P&C insurance loss development triangles using standard actuarial reserving methods, flag anomalies, and produce a professional loss reserve analysis report in Excel. This skill applies standard methods described in Friedland's *Estimating Unpaid Claims Using Basic Techniques* and references relevant Actuarial Standards of Practice (ASOPs) for educational context.\n\n## When to Use\n\n- User uploads a loss triangle (Excel or CSV) and wants reserve analysis\n- User asks about IBNR, reserve adequacy, or ultimate loss estimates\n- User mentions chain ladder, BF, or loss development\n- User has Schedule P or similar statutory data\n\n## Workflow\n\n### Step 1: Identify and Parse the Triangle\n\n1. Check `\u002Fmnt\u002Fuser-data\u002Fuploads\u002F` for uploaded files\n2. Read the file using the `scripts\u002Fparse_triangle.py` helper\n3. If the data format is ambiguous, ask the user:\n   - Is this **paid** losses, **incurred** losses, or both?\n   - What is the **evaluation date**?\n   - Are the development periods in **months** or **years**?\n   - Is there an **earned premium** column or sheet for BF\u002FCape Cod methods?\n\nPer ASOP No. 23 (Data Quality), Section 3.2 (Selection of Data), consider whether the data is appropriate for the intended analysis. Ask the user about known data issues such as changes in claim coding, coverage triggers, or reopened claims that may affect triangle integrity. See Friedland Ch. 1–4 for background on the claims process, data types, and meeting with management to understand context.\n\n**Supported formats:**\n- Standard triangle layout: rows = accident years\u002Fquarters, columns = development periods\n- Columnar layout: columns for accident period, development period, and loss amount\n- Transaction-level data: claim-level records with accident_date, evaluation_date, and loss amounts — automatically aggregated into a triangle\n- Schedule P format (will need manual identification of the relevant section)\n\n**Sample data** (in `examples\u002F`) for testing all methods:\n- `sample_triangle.csv` — 5×5 paid loss triangle (2019-2023)\n- `sample_loss_transactions.csv` — ~500 claims with paid, case reserve, and incurred columns\n- `sample_premium.csv` — earned premium by accident year (enables BF and Cape Cod methods)\n\n### Step 2: Run the Analysis\n\nExecute the main analysis script:\n\n```bash\npython scripts\u002Freserve_analysis.py \\\n  --input \u003Cpath_to_triangle_file> \\\n  --sheet \u003Csheet_name_if_excel> \\\n  --type \u003Cpaid|incurred|both> \\\n  --dev-periods \u003Cmonths|years> \\\n  --premium \u003Cpath_or_value_if_available> \\\n  --output \u002Fhome\u002Fclaude\u002Freserve_report.xlsx\n```\n\nThe script runs these methods:\n\n1. **Chain Ladder (Volume-Weighted)** — Standard link ratio method using volume-weighted average factors (Friedland Ch. 7; foundational development method per ASOP No. 43 Section 3.6.1)\n2. **Chain Ladder (Simple Average)** — Arithmetic average of age-to-age factors for comparison\n3. **Bornhuetter-Ferguson** — If earned premium is provided; blends expected loss ratio with chain ladder (Friedland Ch. 9; Bornhuetter & Ferguson, PCAS 1972; incorporates credibility concepts per ASOP No. 25)\n4. **Cape Cod** — If earned premium is provided; derives expected loss ratio from the data itself (Friedland Ch. 10; Stanard, PCAS 1985)\n5. **Expected Loss Ratio** — If earned premium and an a priori loss ratio are provided (Friedland Ch. 8; useful when development data has limited credibility per ASOP No. 43 Section 3.6.1)\n\n### Step 3: Review Diagnostics\n\nThe script also produces diagnostic exhibits. Review these and call out to the user:\n\n- **Calendar year development test**: Checks if development along diagonals is consistent. Large swings may indicate reserve strengthening\u002Fweakening or operational changes.\n- **High\u002Flow factor analysis**: Flags individual age-to-age factors that are outliers (>2 standard deviations from the mean for that development period).\n- **Tail factor sensitivity**: Shows how ultimates change under ±10% and ±25% tail factor variations.\n- **Incurred-vs-paid gap** (if both triangles provided): Large divergence in later maturities may signal case reserve adequacy issues.\n- **Residual plots**: Standardized residuals from the chain ladder model to check for systematic patterns.\n\nThese diagnostics align with ASOP No. 43 Section 3.7.1 (Reasonableness), which calls for the actuary to assess whether results are reasonable. The calendar year test and outlier analysis help identify data irregularities referenced in ASOP No. 23 Section 3.3 (Review of Data). See also Friedland Ch. 6 for discussion of the development triangle as a diagnostic tool and Werner & Modlin Ch. 6 for loss development context in ratemaking.\n\n### Step 4: Rebuild Workbook with Formula Transparency\n\nThe script produces a workbook with static values. Before presenting, **rebuild the workbook so every derived cell uses a live Excel formula** with a cached calculated value. This is the minimum transparency standard for actuarial work — a reviewer must be able to click any cell and trace the calculation back to the source triangle.\n\n**What must be a formula (not a static value):**\n- Individual age-to-age factors: `=TriangleCell[next_dev] \u002F TriangleCell[current_dev]`\n- Volume-weighted averages: `=SUM(next_col_range) \u002F SUM(current_col_range)`\n- Simple averages: `=AVERAGE(factor_range)`\n- Medial averages: `=(SUM(range)-MIN(range)-MAX(range))\u002F(COUNT(range)-2)` when count >= 3\n- Selected factors: reference to the corresponding average row\n- CDF chain: `=SelectedATA * CDF_next_period` (right-to-left multiplication)\n- % Reported: `=1\u002FCDF`\n- Latest loss: reference to the diagonal cell on the triangle sheet\n- Chain ladder ultimate: `=LatestLoss * CDF`\n- IBNR: `=Ultimate - LatestLoss`\n- BF % unreported: `=1 - %Reported`\n- BF IBNR: `=ELR * Premium * %Unreported`\n- BF\u002FCC ultimate: `=LatestLoss + IBNR`\n- Cape Cod derived ELR: `=SUM(LatestLoss_range) \u002F SUMPRODUCT(Premium_range, %Reported_range)`\n- All totals: `=SUM(range)`\n- Summary sheet: cross-sheet references to the CL Ultimates and BF\u002FCape Cod sheets\n- Tail factor derivation (on the ATA sheet, below the CDF rows). Build this block so a reviewer can trace exactly how the tail was derived:\n  - List the last 3–5 selected ATA factors where factor > 1.0 in a small table with columns:\n    - Development Period (static label)\n    - Selected ATA (formula reference to the Selected row above)\n    - Excess: `=ATA_cell - 1`\n    - LN(Excess): `=LN(excess_cell)`\n  - Slope: `=INDEX(LINEST(ln_excess_range, period_range), 1, 1)`\n  - Intercept: `=INDEX(LINEST(ln_excess_range, period_range), 1, 2)`\n  - Projected excess for each extrapolated period beyond the triangle: `=EXP($slope_cell * period + $intercept_cell)` — extend rows until projected \u003C 0.0001 or max 20 extra periods\n  - Projected ATA for each: `=1 + projected_excess_cell`\n  - Tail factor: `=PRODUCT(projected_ATA_range)`\n  - Guard condition: if slope >= 0 or fewer than 3 qualifying factors, set tail = 1.000 with a note explaining why (no decay detected or insufficient data)\n  - The CDF chain's rightmost value must reference this tail factor cell, not a hardcoded number\n\n**What stays as static values (inputs, not derived):**\n- Triangle data (raw input)\n- Earned premium (user input)\n- A priori ELR for BF (user input or derived assumption)\n- Diagnostics sheet (calendar year test, outliers, tail sensitivity — complex stats)\n\n**Important:** Every formula cell must also have a cached calculated value so numbers display correctly in all viewers (web preview, Excel, Google Sheets). Use `xlsxwriter`'s `write_formula(row, col, formula, format, result)` or equivalent approach that writes both the formula and the pre-calculated value.\n\n### Step 5: Interpret Results and Present\n\nAfter running the analysis:\n\n1. Copy the output Excel to `\u002Fmnt\u002Fuser-data\u002Foutputs\u002F`\n2. Present the file to the user\n3. Provide a **narrative summary** that includes:\n   - The range of indicated ultimates across methods\n   - Whether carried reserves appear adequate, deficient, or redundant relative to the chain ladder indication\n   - Which accident years show the most development volatility\n   - Any red flags from the diagnostics\n   - Caveats about data limitations and the quick-check nature of the analysis\n   - Reference the concept from ASOP No. 43 Section 3.7 (Unpaid Claim Estimate) and 3.7.1 (Reasonableness) — note that a point estimate is a selection, and the actuary should assess whether results are reasonable\n\n**Important tone guidance**: This is a quick check, not a full reserve study. Always caveat that:\n- The analysis relies on standard methods and does not incorporate claim-level information\n- Tail factor selection is mechanical and should be reviewed by a credentialed actuary\n- Results should be cross-referenced with operational knowledge (e.g., changes in claims handling, coverage, or legal environment)\n- This does not constitute an actuarial opinion under ASOP No. 43 or a Statement of Actuarial Opinion per ASOP No. 36. A credentialed actuary should review results, apply professional judgment on factor selections, and consider the requirements of ASOP No. 43 Section 3 before relying on these estimates for decision-making\n\n### Step 5: Interactive Follow-Up\n\nAfter presenting results, offer the user options to:\n- Adjust tail factors manually\n- Exclude specific accident years or development periods\n- Change the weighting scheme for age-to-age factors\n- Run sensitivity scenarios on the a priori loss ratio (for BF\u002FCape Cod)\n- Compare against a benchmark loss ratio\n\nWhen adjusting selections, note that ASOP No. 43 Section 3.6.7 (Changing Conditions) and 3.6.6 (External Conditions) may affect development patterns and tail behavior. ASOP No. 25 provides guidance on credibility weighting when blending methods. Tail factor considerations are discussed in Friedland Ch. 7 as part of the development technique.\n\n## Key Actuarial Concepts (Reference)\n\nRead `references\u002Fmethods.md` for detailed formulas and implementation notes on each method if needed during development or debugging.\n\n## Error Handling\n\n- If the triangle has fewer than 3 accident periods, warn that credibility is very limited. ASOP No. 25 Section 3.4 (Professional Judgment) notes that credibility assessment is not always a precise mathematical process; triangles with very few data points may warrant heavier reliance on the ELR or BF methods with an externally-derived expected loss ratio\n- If any development factors are \u003C 1.0 (negative development), flag explicitly — it may be legitimate but warrants explanation\n- If the triangle is not square (jagged), handle gracefully by only computing factors where data exists\n- If earned premium is not provided, skip BF and Cape Cod methods and note this in the output\n","# Loss Reserve Analysis\n\n## Purpose\n\nAnalyze P&C insurance loss development triangles using standard actuarial reserving methods, flag anomalies, and produce a professional loss reserve analysis report in Excel. This skill applies standard methods described in Friedland's *Estimating Unpaid Claims Using Basic Techniques* and references relevant Actuarial Standards of Practice (ASOPs) for educational context.\n\n## When to Use\n\n- User uploads a loss triangle (Excel or CSV) and wants reserve analysis\n- User asks about IBNR, reserve adequacy, or ultimate loss estimates\n- User mentions chain ladder, BF, or loss development\n- User has Schedule P or similar statutory data\n\n## Workflow\n\n### Step 1: Identify and Parse the Triangle\n\n1. Check `\u002Fmnt\u002Fuser-data\u002Fuploads\u002F` for uploaded files\n2. Read the file using the `scripts\u002Fparse_triangle.py` helper\n3. If the data format is ambiguous, ask the user:\n   - Is this **paid** losses, **incurred** losses, or both?\n   - What is the **evaluation date**?\n   - Are the development periods in **months** or **years**?\n   - Is there an **earned premium** column or sheet for BF\u002FCape Cod methods?\n\nPer ASOP No. 23 (Data Quality), Section 3.2 (Selection of Data), consider whether the data is appropriate for the intended analysis. Ask the user about known data issues such as changes in claim coding, coverage triggers, or reopened claims that may affect triangle integrity. See Friedland Ch. 1–4 for background on the claims process, data types, and meeting with management to understand context.\n\n**Supported formats:**\n- Standard triangle layout: rows = accident years\u002Fquarters, columns = development periods\n- Columnar layout: columns for accident period, development period, and loss amount\n- Transaction-level data: claim-level records with accident_date, evaluation_date, and loss amounts — automatically aggregated into a triangle\n- Schedule P format (will need manual identification of the relevant section)\n\n**Sample data** (in `examples\u002F`) for testing all methods:\n- `sample_triangle.csv` — 5×5 paid loss triangle (2019-2023)\n- `sample_loss_transactions.csv` — ~500 claims with paid, case reserve, and incurred columns\n- `sample_premium.csv` — earned premium by accident year (enables BF and Cape Cod methods)\n\n### Step 2: Run the Analysis\n\nExecute the main analysis script:\n\n```bash\npython scripts\u002Freserve_analysis.py \\\n  --input \u003Cpath_to_triangle_file> \\\n  --sheet \u003Csheet_name_if_excel> \\\n  --type \u003Cpaid|incurred|both> \\\n  --dev-periods \u003Cmonths|years> \\\n  --premium \u003Cpath_or_value_if_available> \\\n  --output \u002Fhome\u002Fclaude\u002Freserve_report.xlsx\n```\n\nThe script runs these methods:\n\n1. **Chain Ladder (Volume-Weighted)** — Standard link ratio method using volume-weighted average factors (Friedland Ch. 7; foundational development method per ASOP No. 43 Section 3.6.1)\n2. **Chain Ladder (Simple Average)** — Arithmetic average of age-to-age factors for comparison\n3. **Bornhuetter-Ferguson** — If earned premium is provided; blends expected loss ratio with chain ladder (Friedland Ch. 9; Bornhuetter & Ferguson, PCAS 1972; incorporates credibility concepts per ASOP No. 25)\n4. **Cape Cod** — If earned premium is provided; derives expected loss ratio from the data itself (Friedland Ch. 10; Stanard, PCAS 1985)\n5. **Expected Loss Ratio** — If earned premium and an a priori loss ratio are provided (Friedland Ch. 8; useful when development data has limited credibility per ASOP No. 43 Section 3.6.1)\n\n### Step 3: Review Diagnostics\n\nThe script also produces diagnostic exhibits. Review these and call out to the user:\n\n- **Calendar year development test**: Checks if development along diagonals is consistent. Large swings may indicate reserve strengthening\u002Fweakening or operational changes.\n- **High\u002Flow factor analysis**: Flags individual age-to-age factors that are outliers (>2 standard deviations from the mean for that development period).\n- **Tail factor sensitivity**: Shows how ultimates change under ±10% and ±25% tail factor variations.\n- **Incurred-vs-paid gap** (if both triangles provided): Large divergence in later maturities may signal case reserve adequacy issues.\n- **Residual plots**: Standardized residuals from the chain ladder model to check for systematic patterns.\n\nThese diagnostics align with ASOP No. 43 Section 3.7.1 (Reasonableness), which calls for the actuary to assess whether results are reasonable. The calendar year test and outlier analysis help identify data irregularities referenced in ASOP No. 23 Section 3.3 (Review of Data). See also Friedland Ch. 6 for discussion of the development triangle as a diagnostic tool and Werner & Modlin Ch. 6 for loss development context in ratemaking.\n\n### Step 4: Rebuild Workbook with Formula Transparency\n\nThe script produces a workbook with static values. Before presenting, **rebuild the workbook so every derived cell uses a live Excel formula** with a cached calculated value. This is the minimum transparency standard for actuarial work — a reviewer must be able to click any cell and trace the calculation back to the source triangle.\n\n**What must be a formula (not a static value):**\n- Individual age-to-age factors: `=TriangleCell[next_dev] \u002F TriangleCell[current_dev]`\n- Volume-weighted averages: `=SUM(next_col_range) \u002F SUM(current_col_range)`\n- Simple averages: `=AVERAGE(factor_range)`\n- Medial averages: `=(SUM(range)-MIN(range)-MAX(range))\u002F(COUNT(range)-2)` when count >= 3\n- Selected factors: reference to the corresponding average row\n- CDF chain: `=SelectedATA * CDF_next_period` (right-to-left multiplication)\n- % Reported: `=1\u002FCDF`\n- Latest loss: reference to the diagonal cell on the triangle sheet\n- Chain ladder ultimate: `=LatestLoss * CDF`\n- IBNR: `=Ultimate - LatestLoss`\n- BF % unreported: `=1 - %Reported`\n- BF IBNR: `=ELR * Premium * %Unreported`\n- BF\u002FCC ultimate: `=LatestLoss + IBNR`\n- Cape Cod derived ELR: `=SUM(LatestLoss_range) \u002F SUMPRODUCT(Premium_range, %Reported_range)`\n- All totals: `=SUM(range)`\n- Summary sheet: cross-sheet references to the CL Ultimates and BF\u002FCape Cod sheets\n- Tail factor derivation (on the ATA sheet, below the CDF rows). Build this block so a reviewer can trace exactly how the tail was derived:\n  - List the last 3–5 selected ATA factors where factor > 1.0 in a small table with columns:\n    - Development Period (static label)\n    - Selected ATA (formula reference to the Selected row above)\n    - Excess: `=ATA_cell - 1`\n    - LN(Excess): `=LN(excess_cell)`\n  - Slope: `=INDEX(LINEST(ln_excess_range, period_range), 1, 1)`\n  - Intercept: `=INDEX(LINEST(ln_excess_range, period_range), 1, 2)`\n  - Projected excess for each extrapolated period beyond the triangle: `=EXP($slope_cell * period + $intercept_cell)` — extend rows until projected \u003C 0.0001 or max 20 extra periods\n  - Projected ATA for each: `=1 + projected_excess_cell`\n  - Tail factor: `=PRODUCT(projected_ATA_range)`\n  - Guard condition: if slope >= 0 or fewer than 3 qualifying factors, set tail = 1.000 with a note explaining why (no decay detected or insufficient data)\n  - The CDF chain's rightmost value must reference this tail factor cell, not a hardcoded number\n\n**What stays as static values (inputs, not derived):**\n- Triangle data (raw input)\n- Earned premium (user input)\n- A priori ELR for BF (user input or derived assumption)\n- Diagnostics sheet (calendar year test, outliers, tail sensitivity — complex stats)\n\n**Important:** Every formula cell must also have a cached calculated value so numbers display correctly in all viewers (web preview, Excel, Google Sheets). Use `xlsxwriter`'s `write_formula(row, col, formula, format, result)` or equivalent approach that writes both the formula and the pre-calculated value.\n\n### Step 5: Interpret Results and Present\n\nAfter running the analysis:\n\n1. Copy the output Excel to `\u002Fmnt\u002Fuser-data\u002Foutputs\u002F`\n2. Present the file to the user\n3. Provide a **narrative summary** that includes:\n   - The range of indicated ultimates across methods\n   - Whether carried reserves appear adequate, deficient, or redundant relative to the chain ladder indication\n   - Which accident years show the most development volatility\n   - Any red flags from the diagnostics\n   - Caveats about data limitations and the quick-check nature of the analysis\n   - Reference the concept from ASOP No. 43 Section 3.7 (Unpaid Claim Estimate) and 3.7.1 (Reasonableness) — note that a point estimate is a selection, and the actuary should assess whether results are reasonable\n\n**Important tone guidance**: This is a quick check, not a full reserve study. Always caveat that:\n- The analysis relies on standard methods and does not incorporate claim-level information\n- Tail factor selection is mechanical and should be reviewed by a credentialed actuary\n- Results should be cross-referenced with operational knowledge (e.g., changes in claims handling, coverage, or legal environment)\n- This does not constitute an actuarial opinion under ASOP No. 43 or a Statement of Actuarial Opinion per ASOP No. 36. A credentialed actuary should review results, apply professional judgment on factor selections, and consider the requirements of ASOP No. 43 Section 3 before relying on these estimates for decision-making\n\n### Step 5: Interactive Follow-Up\n\nAfter presenting results, offer the user options to:\n- Adjust tail factors manually\n- Exclude specific accident years or development periods\n- Change the weighting scheme for age-to-age factors\n- Run sensitivity scenarios on the a priori loss ratio (for BF\u002FCape Cod)\n- Compare against a benchmark loss ratio\n\nWhen adjusting selections, note that ASOP No. 43 Section 3.6.7 (Changing Conditions) and 3.6.6 (External Conditions) may affect development patterns and tail behavior. ASOP No. 25 provides guidance on credibility weighting when blending methods. Tail factor considerations are discussed in Friedland Ch. 7 as part of the development technique.\n\n## Key Actuarial Concepts (Reference)\n\nRead `references\u002Fmethods.md` for detailed formulas and implementation notes on each method if needed during development or debugging.\n\n## Error Handling\n\n- If the triangle has fewer than 3 accident periods, warn that credibility is very limited. ASOP No. 25 Section 3.4 (Professional Judgment) notes that credibility assessment is not always a precise mathematical process; triangles with very few data points may warrant heavier reliance on the ELR or BF methods with an externally-derived expected loss ratio\n- If any development factors are \u003C 1.0 (negative development), flag explicitly — it may be legitimate but warrants explanation\n- If the triangle is not square (jagged), handle gracefully by only computing factors where data exists\n- If earned premium is not provided, skip BF and Cape Cod methods and note this in the output\n",{"name":5,"description":7},"main","b22eca2e974f918ce591c5b2bd829fb7510e0191","Skills\u002Floss-reserve-analysis",18,"https:\u002F\u002Fgithub.com\u002FFDU-INS\u002FInsurance-Skills","https:\u002F\u002Fgithub.com\u002FFDU-INS","Fudan University Department of Risk Management and Insurance","2026-07-12 12:54:34",{"source":8,"skillName":5,"commands":58,"prompt":68,"zipAvailable":69},[59,62,65],{"tool":60,"command":61},"npx","npx skills add FDU-INS\u002FInsurance-Skills --skill loss-reserve-analysis",{"tool":63,"command":64},"bunx","bunx skills add FDU-INS\u002FInsurance-Skills --skill loss-reserve-analysis",{"tool":66,"command":67},"pnpm","pnpm dlx skills add FDU-INS\u002FInsurance-Skills --skill loss-reserve-analysis","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FFDU-INS\u002FInsurance-Skills\u002Fblob\u002Fmain\u002FSkills\u002Floss-reserve-analysis\u002FSKILL.md",true,[71,77,83,87,91,97,101],{"path":72,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":75,"sourceHtmlUrl":76},"examples\u002Fgenerate_sample_data.py","SCRIPT","脚本",7468,"https:\u002F\u002Fgithub.com\u002FFDU-INS\u002FInsurance-Skills\u002Fblob\u002Fmain\u002FSkills\u002Floss-reserve-analysis\u002Fexamples\u002Fgenerate_sample_data.py",{"path":78,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":81,"sourceHtmlUrl":82},"examples\u002Fsample_loss_transactions.csv","ASSET","资产文件",86434,"https:\u002F\u002Fgithub.com\u002FFDU-INS\u002FInsurance-Skills\u002Fblob\u002Fmain\u002FSkills\u002Floss-reserve-analysis\u002Fexamples\u002Fsample_loss_transactions.csv",{"path":84,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":85,"sourceHtmlUrl":86},"examples\u002Fsample_premium.csv",79,"https:\u002F\u002Fgithub.com\u002FFDU-INS\u002FInsurance-Skills\u002Fblob\u002Fmain\u002FSkills\u002Floss-reserve-analysis\u002Fexamples\u002Fsample_premium.csv",{"path":88,"resourceType":79,"resourceTypeDesc":80,"sizeBytes":89,"sourceHtmlUrl":90},"examples\u002Fsample_triangle.csv",139,"https:\u002F\u002Fgithub.com\u002FFDU-INS\u002FInsurance-Skills\u002Fblob\u002Fmain\u002FSkills\u002Floss-reserve-analysis\u002Fexamples\u002Fsample_triangle.csv",{"path":92,"resourceType":93,"resourceTypeDesc":94,"sizeBytes":95,"sourceHtmlUrl":96},"references\u002Fmethods.md","REFERENCE","参考文档",9564,"https:\u002F\u002Fgithub.com\u002FFDU-INS\u002FInsurance-Skills\u002Fblob\u002Fmain\u002FSkills\u002Floss-reserve-analysis\u002Freferences\u002Fmethods.md",{"path":98,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":99,"sourceHtmlUrl":100},"scripts\u002Fparse_triangle.py",12263,"https:\u002F\u002Fgithub.com\u002FFDU-INS\u002FInsurance-Skills\u002Fblob\u002Fmain\u002FSkills\u002Floss-reserve-analysis\u002Fscripts\u002Fparse_triangle.py",{"path":102,"resourceType":73,"resourceTypeDesc":74,"sizeBytes":103,"sourceHtmlUrl":104},"scripts\u002Freserve_analysis.py",33662,"https:\u002F\u002Fgithub.com\u002FFDU-INS\u002FInsurance-Skills\u002Fblob\u002Fmain\u002FSkills\u002Floss-reserve-analysis\u002Fscripts\u002Freserve_analysis.py",[106,134,159,188,210,239],{"skillNo":107,"name":108,"nameZh":6,"description":109,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":110,"categories":111,"keywords":117,"publishedAt":44},"01M713QW6EGEG0YAD75440GSD0","로인장 (Roinjiang)","Activates when the user needs legal advice, contract review, insurance law consultation, startup legal support, or any legal\u002Fregulatory matter. She is a top-tier in-house lawyer with absolute loyalty to the CEO, specializing in insurance law, financial consumer protection, privacy, contracts, labor law, family law, civil and criminal matters.","https:\u002F\u002Fgithub.com\u002FFDU-INS\u002FInsurance-Skills\u002Fblob\u002Fmain\u002FSkills\u002F로인장 (Roinjiang)\u002FSKILL.md",[112],{"categoryNo":113,"categoryName":114,"taxonomyType":115,"taxonomyTypeDesc":116},"01JBSEEDCAT000000000000037","律师与法务","PROFESSION","适用职业",[108,118,30,119,120,121,31,43,122,123,124,125,126,127,128,129,130,131,132,133],"insurance law","civil","contract","family","loyalty","with","top","contract review","ceo","support","advice","consultation","regulatory","privacy","protection","startup",{"skillNo":135,"name":136,"nameZh":6,"description":137,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":138,"categories":139,"keywords":140,"publishedAt":44},"01M713QRN8VFMA9VKS6R4DJ2WS","zocdoc-doctor-finder","Use when a user needs to find a doctor, dentist, specialist, therapist, or healthcare provider — especially when they mention insurance, in-network, availability, location, appointments, or booking. Also use for browsing provider reviews, comparing doctors by specialty, or checking if a provider takes their insurance.","https:\u002F\u002Fgithub.com\u002FFDU-INS\u002FInsurance-Skills\u002Fblob\u002Fmain\u002FSkills\u002Fzocdoc-doctor-finder\u002FSKILL.md",[],[141,142,143,144,30,145,146,31,147,148,149,150,151,152,153,154,155,156,157,158],"zocdoc doctor finder","doctor","healthcare","reviews","browser automation","access","browsing","browser","booking","network","therapist","computer","availability","for","provider","tool","use","automation",{"skillNo":160,"name":161,"nameZh":6,"description":162,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":163,"categories":164,"keywords":168,"publishedAt":44},"01M713QKGV3FTX7EEYWKDM8ENZ","zenmux-context","Answers any question about ZenMux by reading the latest official documentation. Use this skill whenever the user asks about ZenMux product features, API usage, configuration, integration, pricing, models, providers, routing, fallback, streaming, multimodal, structured output, tool calling, reasoning, prompt caching, image generation, video generation, web search, long context, observability, logs, cost tracking, usage analytics, insurance, subscription, pay-as-you-go, invoices, best practices for tools like Claude Code, Cursor, Cline, CodeX, Gemini CLI, opencode, Cherry Studio, Obsidian, Sider, Open-WebUI, Dify, Neovate, GitHub Copilot, OpenClaw, CC-Switch, Immersive Translate, Studio Chat, architecture, benchmarks, FAQ, contact, privacy, terms of service, compliance, or any other ZenMux-related topic. Also trigger when the user writes in Chinese about ZenMux: 文档, 使用指南, 快速开始, API 参考, 最佳实践, 模型路由, 供应商路由, 订阅, 按量计费, 可观测性, 帮助, 常见问题, 接入指南, 配置. Trigger on phrases like \"how to use ZenMux\", \"ZenMux docs\", \"ZenMux API\", \"ZenMux integration\", \"ZenMux 怎么用\", \"ZenMux 接入\", \"ZenMux 配置\". Even if the user doesn't say \"ZenMux\" explicitly but asks about LLM API aggregation, model routing, provider fallback in a context where ZenMux is the project being worked on, this skill should activate.","https:\u002F\u002Fgithub.com\u002FFDU-INS\u002FInsurance-Skills\u002Fblob\u002Fmain\u002FSkills\u002Fzenmux-context\u002FSKILL.md",[165],{"categoryNo":166,"categoryName":167,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000016","图像与多媒体",[169,170,171,172,30,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187],"context","zenmux context","Video","chinese","project","web search","translate","search","open","question","pay","image","you","activate","architecture","logs","streaming","cherry studio","how",{"skillNo":189,"name":190,"nameZh":6,"description":191,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":192,"categories":193,"keywords":194,"publishedAt":44},"01M713QHWTBG634BCBV7NBJME1","workers-comp-guide","Guide workers compensation compliance and claims management.\nTRIGGERS - Use when user needs help with workers-comp-guide related tasks.","https:\u002F\u002Fgithub.com\u002FFDU-INS\u002FInsurance-Skills\u002Fblob\u002Fmain\u002FSkills\u002Fworkers-comp-guide\u002FSKILL.md",[],[195,196,197,198,199,30,200,201,157,31,202,123,203,204,205,206,207,208,209],"workers","comp","workers comp","workers comp guide","guide","triggers","workers-comp","tasks","claims management","claims","compliance","help","compensation","management","user",{"skillNo":211,"name":212,"nameZh":6,"description":213,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":214,"categories":215,"keywords":223,"publishedAt":44},"01M713QF45VMV1685AFNF1GPMA","weekly-kpi-report","Generate McKinsey-style board presentation PPTs from weekly auto insurance data. Automatically calculates 16+ KPIs, creates executive-level slides with actionable insights, and supports week-over-week comparisons. Use when user uploads insurance cost data (Excel\u002FCSV) and requests board report, weekly presentation, executive briefing, or mentions keywords like 董事会汇报, 周报PPT, 经营分析演示, McKinsey-style reports.","https:\u002F\u002Fgithub.com\u002FFDU-INS\u002FInsurance-Skills\u002Fblob\u002Fmain\u002FSkills\u002Fweekly-kpi-report\u002FSKILL.md",[216,219,220],{"categoryNo":217,"categoryName":218,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000003","演示文稿",{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},{"categoryNo":221,"categoryName":222,"taxonomyType":115,"taxonomyTypeDesc":116},"01JBSEEDCAT000000000000034","行政与办公人员",[224,225,226,227,35,30,228,229,230,231,31,232,233,234,235,40,236,237,157,238],"weekly","weekly kpi report","kpi","report","actionable","insights","briefing","auto","board report","reports","generate","演示","presentation","slides","uploads",{"skillNo":240,"name":241,"nameZh":6,"description":242,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":243,"categories":244,"keywords":248,"publishedAt":44},"01M713QA9WJDHMNVTTY1ENRKVB","wealth-advisory","Wealth management and financial planning for HNW and UHNW clients. Activate when the user\nmentions wealth management, financial planning, retirement, estate planning, tax planning,\nGRAT, IDGT, trust, asset allocation, withdrawal rate, Monte Carlo simulation, goals-based\ninvesting, tax-loss harvesting, Roth conversion, insurance, annuity, mortgage strategy,\nconcentrated stock, family office, direct indexing, 529 plan, charitable giving, donor-advised\nfund, private foundation, or asks about personal finance strategy, inheritance, long-term\nfinancial planning, or UHNW advisory.","https:\u002F\u002Fgithub.com\u002FFDU-INS\u002FInsurance-Skills\u002Fblob\u002Fmain\u002FSkills\u002Fwealth-advisory\u002FSKILL.md",[245],{"categoryNo":246,"categoryName":247,"taxonomyType":115,"taxonomyTypeDesc":116},"01JBSEEDCAT000000000000040","财务",[249,250,30,251,252,31,182,253,254,255,256,257,258,259,260,261,262,263,264,265],"wealth advisory","advisory","stock","inheritance","conversion","indexing","plan","simulation","personal finance","rate","allocation","asset","direct","personal","investing","trust","planning"]