AI Skill Report Card

Analyzing Underwriting Rules

A-85·Aug 8, 2026·Source: Web
Markdown
--- name: analyzing-underwriting-rules description: Analyzes insurance underwriting business rules written in JavaScript, mapping trigger conditions to referral codes (照會碼) and their business meanings, while validating alignment with current Taiwan insurance regulations. Use when asked to review, explain, or audit underwriting logic in the "pure" directory, trace why a specific referral code fires, or check whether a rule matches Taiwan's insurance regulatory requirements. ---
14 / 15
  1. Search the pure directory for .js files containing underwriting rules.
  2. Identify the referral code (照會碼) triggered by the rule condition.
  3. Look up the referral code's meaning in the corresponding JSON mapping file.
  4. Cross-check the business logic against current Taiwan insurance regulations (金管會/保險局法規, 保險法, 商業條款).
  5. Report: rule condition → referral code → business meaning → regulatory alignment (compliant / discrepancy / needs verification).

Example lookup command:

Bash
grep -rn "referralCode\|照會碼\|REFER_" pure/*.js
Recommendation
Add an example showing a fully compliant rule with no discrepancy to balance the two 'problem found' examples
14 / 15

Progress:

  • Step 1: Locate relevant .js rule file(s) in pure directory (search by keyword, referral code, or business topic)
  • Step 2: Extract the exact condition logic (if/switch/ternary) that triggers each referral code
  • Step 3: Find the referral code's textual meaning in the JSON mapping file (search by code value)
  • Step 4: Translate the JS condition into plain business language (underwriting terms)
  • Step 5: Compare against current Taiwan insurance regulations relevant to that rule (age limits, sum insured caps, disclosure requirements, health declaration rules, etc.)
  • Step 6: Flag any mismatch, outdated regulation reference, or ambiguous logic
  • Step 7: Summarize findings with code snippet, plain-language explanation, and regulatory citation

Step Details

Step 1-2: Locate & Extract

  • Rules are typically expressed as condition blocks that return or set a referral code variable.
  • Note the exact variable/field names used (e.g., age, sumInsured, bmi, occupationClass) — these map to insurance business terms.
  • Capture the full condition, not just the fired branch — edge cases and boundary values matter for regulatory compliance checks.

Step 3: JSON Lookup

  • The JSON file maps code -> description. Match exactly, including leading zeros or code prefixes.
  • If a code exists in JS but not in JSON (or vice versa), flag it as an inconsistency.

Step 4: Business Translation

  • Convert technical conditions into standard insurance terminology (e.g., bmi > 35 → "體重過重核保加費條件", age >= 65 → "高齡投保限制").
  • Use standard Taiwan insurance vocabulary: 核保 (underwriting), 照會 (referral/inquiry), 加費 (loading), 除外 (exclusion), 拒保 (decline), 展延承保 (postpone), 批註 (endorsement), 體檢 (medical exam), 告知事項 (disclosure items).

Step 5-6: Regulatory Check

  • Reference current rules from 保險法, 保險業招攬及核保理賠辦法, 人身保險商品審查應注意事項, or relevant 金管會函令.
  • Common check points: age-based underwriting limits, mandatory disclosure/告知事項 scope, cooling-off period (契約撤銷權), pre-existing condition exclusions, sum insured limits tied to income or age (like 未成年人保額限制).
  • If regulations have changed since the rule was written, explicitly call this out as a potential compliance gap — do not assume the JS code is authoritative.
Recommendation
Include guidance on handling multiple JS files with conflicting referral code definitions across the codebase
18 / 20

Example 1: Input:

JavaScript
if (age >= 65 && sumInsured > 3000000) { referralCode = "R102"; }

JSON: "R102": "高齡且高保額,需主管核保覆核"

Output:

  • 規則說明: 當被保險人年齡達65歲以上,且投保金額超過300萬元時,觸發照會碼 R102。
  • 商業意義: 高齡高保額案件需經主管進行人工覆核,屬風險控管機制。
  • 法規對照: 目前無明文禁止該年齡與保額組合承保,但需檢視是否符合公司內部風險控管政策及「人身保險商品審查應注意事項」中高齡者商品的核保注意事項。建議確認300萬元門檻是否仍為公司最新風險胃納標準。
  • 狀態: 需與業務單位確認門檻數值是否為最新版本。

Example 2: Input:

JavaScript
if (isMinor && sumInsured > minorDeathBenefitCap) { referralCode = "R088"; }

JSON: "R088": "未成年人死亡給付超過法定上限"

Output:

  • 規則說明: 未成年被保險人之死亡給付投保金額超過 minorDeathBenefitCap 常數值時觸發。
  • 商業意義: 對應未成年人保險金額限制的核保管控。
  • 法規對照: 需查核 minorDeathBenefitCap 常數是否等於現行保險法第107條及金管會公告之未成年人死亡給付上限金額(該金額會隨政策調整)。這是常見的過時風險點 — 若常數未同步更新,將導致核保錯誤放行或錯誤照會。
  • 狀態: ⚠️ 需優先驗證此常數是否為當前法定金額。
Recommendation
Add a brief note on output format/template structure so results are consistently structured across different rule audits
  • Always trace referral codes back to the JSON source of truth — never guess meaning from the code string alone.
  • Treat hardcoded numeric thresholds (age, amount, BMI, percentages) as regulation-sensitive — always verify against current law/公告, don't assume they're up to date.
  • When multiple rules can trigger the same referral code, list all triggering conditions, not just the first found.
  • Preserve original Chinese business terminology in output when it's the standard industry term (照會, 加費, 除外, 批註) — don't over-translate to English.
  • When a JS variable name is ambiguous, search for its definition/assignment elsewhere in pure to confirm its business meaning before concluding.
  • Explicitly separate "what the code does" from "whether it's currently compliant" — these are different claims and should not be conflated.
  • Don't assume a referral code's JSON description is fully accurate or current — the JSON can also be outdated; cross-check with actual regulation text when in doubt.
  • Don't skip boundary conditions (>= vs >) — off-by-one errors in age/amount thresholds are common compliance bugs.
  • Don't report a rule as "compliant" without citing which specific regulation/clause was checked — vague compliance claims are not useful.
  • Don't ignore rules with no matching JSON entry — always flag orphaned referral codes as a data integrity issue.
  • Don't confuse 照會 (referral/manual review request) with 拒保 (decline) or 加費 (loading) — these are distinct underwriting decisions with different business and regulatory implications.
0
Grade A-AI Skill Framework
Scorecard
Criteria Breakdown
Quick Start
14/15
Workflow
14/15
Examples
18/20
Completeness
18/20
Format
14/15
Conciseness
13/15