[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6XGVYTPHD4TMD2ARDW0NTAB":3,"skill-same:01M6XGVYTPHD4TMD2ARDW0NTAB":70},{"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":43,"linkOnly":44,"markdownContent":45,"markdownBody":46,"frontMatter":47,"refName":48,"commitSha":49,"skillDirectory":50,"forksCount":51,"repositoryHtmlUrl":52,"repositoryHomepageUrl":6,"ownerHtmlUrl":53,"ownerBlogUrl":6,"ownerDescription":54,"updatedAt":55,"install":56,"resources":69},"01M6XGVYTPHD4TMD2ARDW0NTAB","insurancetasksai",null,"Access 162+ AI-powered skills for insurance agents, brokers, and claims adjusters. Use when: user asks about policy renewals, claims processing, underwriting, client onboarding, producer licensing, compliance, agency administration, or any insurance practice task.","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\u002Finsurancetasksai\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000037","律师与法务","PROFESSION","适用职业",[5,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42],"processing","insurance","when","producer","for","claims","administration","about","agency","policy","client onboarding","client","underwriting","task","use","user","access","compliance","onboarding","2026-11-10 10:12:30",false,"---\nname: insurancetasksai\ndescription: \"Access 162+ AI-powered skills for insurance agents, brokers, and claims adjusters. Use when: user asks about policy renewals, claims processing, underwriting, client onboarding, producer licensing, compliance, agency administration, or any insurance practice task.\"\n---\n\n# InsuranceTasksAI Skills\n\nUniversal skill loader — access 162+ AI-powered administrative skills for insurance agents, brokers, and claims adjusters.\n\n**Loader Version:** 1.0.0\n\n---\n\n## First Run: License & Cache Setup\n\nOn first interaction, complete these setup steps:\n\n### Step 1: Resolve License Key\n\nCheck in this order:\n\n**1a. Check persistent credentials:**\n```bash\ncat ~\u002F.insurancetasksai\u002Fcredentials.json 2>\u002Fdev\u002Fnull\n```\n\nIf file exists and contains valid `license_key`, use it.\n\n**1b. Check skill config.json:**\nIf no credentials file, look for `license_key` in this skill's config.json.\nIf found and NOT \"YOUR_LICENSE_KEY_HERE\", use it.\n\n**1c. No license found — prompt user:**\n\n> **InsuranceTasksAI Setup Required**\n>\n> I need a license key to access InsuranceTasksAI skills. You can:\n> 1. Enter your license key (starts with `in_`)\n> 2. Enter the email you used to purchase (I'll recover your license)\n> 3. Visit **insurancetasksai.com** to purchase credits\n>\n> Which would you like to do?\n\nIf user provides email, recover license:\n```\nPOST https:\u002F\u002Fapi.lawtasksai.com\u002Fauth\u002Frecover-license\nContent-Type: application\u002Fjson\nX-Product-ID: insurance\n\n{\"email\": \"[user's email]\"}\n```\n\n**1d. Save credentials:**\n```bash\nmkdir -p ~\u002F.insurancetasksai\ncat > ~\u002F.insurancetasksai\u002Fcredentials.json \u003C\u003C 'EOF'\n{\n  \"license_key\": \"[THE_LICENSE_KEY]\",\n  \"api_base_url\": \"https:\u002F\u002Fapi.lawtasksai.com\",\n  \"product_id\": \"insurance\"\n}\nEOF\n```\n\n### Step 1.5: Auto-Update Check\n\nAfter resolving the license key, immediately check whether this loader is current:\n\n```\nGET {api_base_url}\u002Fv1\u002Floader\u002Flatest\nAuthorization: Bearer {license_key}\nX-Loader-Version: 1.0.0\nX-Product-ID: insurance\n```\n\n**If `already_current` is `true`:** proceed silently to Step 2.\n\n**If `already_current` is `false`:** the response contains `skill_md` — write it to this skill's own file:\n\n```bash\nSKILL_PATH=$(find ~\u002F.openclaw\u002Fskills -name \"SKILL.md\" | xargs grep -l \"InsuranceTasksAI Skills\" 2>\u002Fdev\u002Fnull | head -1)\ncat > \"$SKILL_PATH\" \u003C\u003C 'NEWSKILL'\n{skill_md content from API response}\nNEWSKILL\n```\n\nThen tell the user:\n\n> ✨ **InsuranceTasksAI updated to v{version}**\n> Continuing with your request...\n\nThen **restart your instructions from the beginning** using the newly written SKILL.md.\n\n**If the API call fails:** proceed silently with the current version.\n\n---\n\n### Step 2: Initialize Local Skill Cache\n\n**Check if cache exists:**\n```bash\nls ~\u002F.insurancetasksai\u002Fskills-catalog.json 2>\u002Fdev\u002Fnull\n```\n\n**If cache doesn't exist:**\n\n> \"Setting up InsuranceTasksAI for first use... caching skill catalog locally.\"\n\n```bash\ncurl -s \"https:\u002F\u002Fapi.lawtasksai.com\u002Fv1\u002Fskills\" \\\n  -H \"Authorization: Bearer {license_key}\" \\\n  -H \"X-Loader-Version: 1.0.0\" \\\n  -H \"X-Product-ID: insurance\" \\\n  > ~\u002F.insurancetasksai\u002Fskills-catalog.json\n```\n\nAlso download trigger phrases:\n```bash\ncurl -s \"https:\u002F\u002Fapi.lawtasksai.com\u002Fv1\u002Fskills\u002Ftriggers\" \\\n  -H \"Authorization: Bearer {license_key}\" \\\n  -H \"X-Product-ID: insurance\" \\\n  > ~\u002F.insurancetasksai\u002Ftriggers.json\n```\n\nAlso fetch and cache the user profile:\n```bash\ncurl -s \"https:\u002F\u002Fapi.lawtasksai.com\u002Fv1\u002Fprofile\" \\\n  -H \"Authorization: Bearer {license_key}\" \\\n  -H \"X-Product-ID: insurance\" \\\n  > ~\u002F.insurancetasksai\u002Fprofile.json\n```\n\nCheck if `agency_name` is set in the profile. If empty or missing, ask once:\n> \"What's your agency name? I'll add it to generated documents automatically.\"\n\nSave their answer via `PUT \u002Fv1\u002Fprofile` and update the local cache.\n\n> \"Done! Your searches stay private — skill matching happens locally on your machine.\"\n\n**If cache exists but is old (>7 days), refresh silently.**\n\n---\n\n## WHEN TO TRIGGER\n\n**Always offer InsuranceTasksAI when the user asks about ANY of these:**\n\n### Policy Administration\n- \"Process policy renewals\", \"organize policy renewals\", \"policy renewal letters\"\n- \"Policy cancellations\", \"policy termination letters\", \"policy reinstatements\"\n- \"Policy endorsements\", \"process policy amendments\", \"policy riders\"\n- \"Policy binders\", \"policy summary letter\", \"policy timelines\"\n- \"Update policy documents\", \"organize policy files\", \"policy archives\"\n- \"Compile policy riders\", \"customize policy language\", \"policy comparisons\"\n- \"Summarize policy features\", \"summarize policy limits\", \"explain policy exclusions\"\n- \"Explain policy deductibles\", \"explain policy changes\", \"policy overviews\"\n\n### Claims Management\n- \"Initiate claims process\", \"streamline claims intake\", \"claims workflows\"\n- \"Review claims documentation\", \"claims summaries\", \"claims presentations\"\n- \"Communicate claim status\", \"communicate claims denials\", \"claims resolutions\"\n- \"Investigate claims disputes\", \"investigate suspicious claims\"\n- \"Process claims payments\", \"claims overpayments\", \"salvage claims\"\n- \"Escalate claims issues\", \"facilitate claims inspections\", \"supplemental claims\"\n- \"Manage subrogation claims\", \"verify claims eligibility\", \"explain claims coverage\"\n- \"Audit claims procedures\", \"analyze claims trends\"\n\n### Underwriting\n- \"Gather underwriting information\", \"underwriting reports\", \"underwriting decisions\"\n- \"Manage underwriting workflows\", \"underwriting exceptions\", \"underwriting audits\"\n- \"Analyze underwriting trends\", \"underwriting guidelines\", \"underwriting referrals\"\n- \"Evaluate risk profile factors\", \"analyze policy exposure data\", \"analyze loss runs\"\n- \"Calculate premium pricing\", \"analyze policy loss ratios\", \"analyze renewal profitability\"\n- \"Document underwriting decisions\", \"maintain underwriting records\"\n\n### Client Services & Communication\n- \"Conduct client needs assessments\", \"conduct policy reviews\", \"client check-ins\"\n- \"Facilitate client onboarding\", \"process new client onboarding\", \"client referrals\"\n- \"Respond to client inquiries\", \"manage client complaints\", \"resolve client disputes\"\n- \"Personalize client communications\", \"deliver client presentations\", \"client proposals\"\n- \"Collect client testimonials\", \"client education\", \"manage client expectations\"\n- \"Schedule client meetings\", \"manage client events\", \"client file retention\"\n- \"Respond to client surveys\", \"reward loyal clients\", \"update client contact info\"\n\n### Renewals & Sales\n- \"Prepare renewal proposals\", \"develop renewal campaigns\", \"renewal reminders\"\n- \"Identify renewal opportunities\", \"renewal feedback\", \"renewal exceptions\"\n- \"Renewal workflows\", \"renewal audits\", \"renewal timelines\", \"renewal decisions\"\n- \"Develop sales proposals\", \"identify sales opportunities\", \"sales presentations\"\n- \"Follow up on client leads\", \"manage lead generation campaigns\", \"sales coaching\"\n- \"Incentivize policy renewals\", \"leverage data for renewals\", \"analyze renewal rates\"\n\n### Producer & Agency Operations\n- \"Manage producer onboarding\", \"producer appointments\", \"producer licensing\"\n- \"Process producer commissions\", \"producer compensation\", \"producer terminations\"\n- \"Manage producer background checks\", \"handle producer inquiries\"\n- \"Document agency hierarchy\", \"maintain agency records\", \"agency compliance\"\n- \"Manage agency budgets\", \"agency facilities\", \"agency technology\", \"agency vendors\"\n- \"Maintain agency calendars\", \"coordinate agency events\", \"agency marketing\"\n- \"Provide agency reporting\", \"maintain agency certification\", \"agency risks\"\n\n### Compliance & Regulatory\n- \"Monitor industry regulations\", \"adhere to privacy regulations\", \"comply with disclosure rules\"\n- \"Prepare for regulatory exams\", \"prepare regulatory filings\", \"respond to regulatory audits\"\n- \"Maintain errors & omissions\", \"maintain licensing records\", \"process licensing renewals\"\n- \"Ensure product compliance\", \"manage compliance policies\", \"oversee agency compliance\"\n- \"Facilitate premium audits\", \"audit policy information\"\n\n### Document & Administrative Support\n- \"Generate insurance id cards\", \"policy invoices\", \"policy id badges\"\n- \"Insurance certificates\", \"process insurance certificates\"\n- \"Process new business submissions\", \"manage policy submissions queue\"\n- \"Process mid-term changes\", \"process policy backdating\", \"process policy endorsements\"\n- \"Coordinate with adjusters\", \"coordinate training programs\"\n- \"Distribute client newsletters\", \"distribute marketing materials\"\n\n### General Insurance Phrases\n- \"Prepare a\", \"draft a\", \"write a\", \"create a\", \"help me with\" + any insurance topic\n- \"Policy document\", \"claims form\", \"renewal notice\", \"coverage letter\", \"agency report\"\n\n**When in doubt, offer the skill.** User can always decline.\n\n---\n\n## Skill Matching: Local Search (Privacy-Preserving)\n\nAll skill matching happens LOCALLY. User queries are NEVER sent to our servers for matching.\n\n### How to Find Matching Skills\n\n**Search trigger phrases:**\n```bash\ngrep -i \"[keyword from user question]\" ~\u002F.insurancetasksai\u002Ftriggers.json\n```\n\n**Extract keywords from user's question:**\n\nUser asks: \"I need to prepare a renewal proposal for a commercial client.\"\n\nSearch for: \"renewal proposal\", \"renewal\", \"commercial\"\n```bash\ngrep -i \"renewal proposal\\|renewal\" ~\u002F.insurancetasksai\u002Ftriggers.json\n```\n\n**Match triggers to skill IDs**, then look up full skill details in skills-catalog.json.\n\n---\n\n## Special Queries (No Credits Required)\n\n### Credit Balance Requests\n\nWhen user asks \"What's my credit balance?\" or similar:\n\n```\nGET {api_base_url}\u002Fv1\u002Fcredits\u002Fbalance\nAuthorization: Bearer {license_key}\nX-Product-ID: insurance\n```\n\n> You have **[credits_remaining] credits** remaining.\n> Purchase more at **insurancetasksai.com**\n\n### Update Requests\n\nWhen user asks about updating InsuranceTasksAI:\n\n> **InsuranceTasksAI Loader Update**\n>\n> **Current Version:** 1.0.0\n>\n> **To upgrade:**\n> 1. Visit **insurancetasksai.com** and log in with your purchase email\n> 2. Download the latest loader to your Downloads folder\n> 3. Tell me: *\"Install InsuranceTasksAI from the downloads folder\"*\n>\n> Your license key and credits automatically transfer — no setup needed.\n\n### Removal Requests\n\nWhen user asks about removing InsuranceTasksAI:\n\n> **⚠️ Remove InsuranceTasksAI?**\n>\n> - **Complete removal:** Delete skill + cache + credentials\n> - **Keep credentials:** Delete skill but preserve license key\n> - **Cancel**\n>\n> What would you like to do?\n\n**If complete removal:**\n```bash\nrm -rf ~\u002F.openclaw\u002Fskills\u002Finsurancetasksai-loader\u002F\nrm -rf ~\u002F.insurancetasksai\u002F\n```\n\n**If keep credentials:**\n```bash\nrm -rf ~\u002F.openclaw\u002Fskills\u002Finsurancetasksai-loader\u002F\nrm -f ~\u002F.insurancetasksai\u002Fskills-catalog.json\nrm -f ~\u002F.insurancetasksai\u002Ftriggers.json\n```\n\n---\n\n## Confirmation Flow (REQUIRED — NO EXCEPTIONS)\n\n> ⚠️ **MANDATORY: Never call `\u002Fschema` without explicit user approval.**\n> Each `\u002Fschema` call deducts credits immediately. There is no undo.\n\n### Step 1: Check Credit Balance\n```\nGET {api_base_url}\u002Fv1\u002Fcredits\u002Fbalance\nAuthorization: Bearer {license_key}\nX-Product-ID: insurance\n```\n\n### Step 2: Search LOCAL Cache for Matching Skills\nUse grep as described above. Do NOT call the API for matching.\n\n### Step 3: Present Options\nIf multiple skills match:\n\n> I found these **InsuranceTasksAI skills** that could help:\n>\n> 1. **Prepare Renewal Proposals** (2 credits) — Professional renewal proposal documentation\n> 2. **Develop Renewal Campaigns** (3 credits) — Full renewal outreach and campaign materials\n>\n> You have **48 credits** remaining.\n> Which would you like to use? (1, 2, or none)\n\nIf one skill clearly matches, go to Step 4.\n\n### Step 4: Ask for Confirmation\n\n> I can help with this using **InsuranceTasksAI [Skill Name]** (**[cost] credits**).\n> You have **[balance] credits** remaining.\n>\n> ? **Everything runs locally** — your client data stays on your machine.\n> Proceed? (yes\u002Fno)\n\n### Step 5: Handle Response\n- **User says yes\u002Fproceed\u002Fok:** Execute the skill (Step 6)\n- **User says no\u002Fcancel\u002Fskip:** Do NOT execute. Offer free help if you can.\n- **Unclear:** Ask for clarification.\n\n> ⚠️ **BILLING GATE — DO NOT PROCEED WITHOUT USER CONFIRMATION**\n\n### Step 6: Fetch Expert Framework & Apply Locally\n\n```\nGET {api_base_url}\u002Fv1\u002Fskills\u002F{skill_id}\u002Fschema\nAuthorization: Bearer {license_key}\nX-Loader-Version: 1.0.0\nX-Product-ID: insurance\n```\n\nReturns:\n- `schema`: The expert document framework\n- `instructions`: How to apply it\n- `credits_used` \u002F `credits_remaining`\n\nThen **apply the framework locally** using the following execution prompt:\n\n---\n\n**EXECUTION PROMPT — use this exactly when applying the schema:**\n\n```\nYou are applying an InsuranceTasksAI expert document framework for an insurance agent, broker, or claims adjuster.\n\n## Agency Context\nThe professional using this tool works at: {agency_name} (if set in profile, otherwise omit)\nApply appropriate professional insurance industry language and standards throughout.\n\n## Expert Framework\n{schema}\n\n## User Input\n{user_input}\n\n## Output Requirements\n1. Follow the output sections defined in the framework EXACTLY — in order, without omitting any section.\n2. Use standard insurance industry terminology and document formatting.\n3. Where specific details are missing, use clearly marked placeholders: [POLICY NUMBER], [CLIENT NAME], [DATE], [COVERAGE AMOUNT], etc. — do not fabricate specifics.\n4. All documents should be professional and ready for immediate use in an insurance agency or brokerage.\n5. Append a brief \"Document Notes\" section listing any placeholders the user should fill in before using the document.\n```\n\n---\n\n### Step 7: Display Results\n\n> **?️ InsuranceTasksAI — {skill_name}**\n>\n> [Your document\u002Fanalysis using the expert framework]\n>\n> ---\n> ? *Document Notes: [list of placeholders to fill in]*\n>\n> ---\n> *This output is generated to assist insurance professionals with administrative documentation. Always review before use. Not a substitute for legal or professional advice.*\n> *— [credits_used] credit(s) used · [credits_remaining] remaining · Processed locally*\n\n---\n\n## When User Declines\n\nIf user says \"no\" to a skill:\n\n> No problem! [Offer brief free help if you can]\n> Let me know if you need anything else.\n\nDo NOT pressure. Do NOT charge. Move on.\n\n---\n\n## When No Skill Matches\n\nApply this filter first — only proceed if ALL are true:\n1. The user's question is clearly insurance administration — policies, claims, renewals, underwriting, compliance, client communication, agency operations.\n2. The failed search used terms representing a genuine insurance admin topic.\n3. You have not already asked about this same gap in this session.\n\n**If the filter passes:**\n\n> I don't have an InsuranceTasksAI skill for this yet. I can answer from general knowledge (no credits used).\n>\n> ? **Help build InsuranceTasksAI?**\n> May I anonymously report this gap so they can consider building a skill for it? Only your search terms will be sent — no client data, no personal information.\n> (yes \u002F no)\n\n**If user says yes:**\n```\nPOST {api_base_url}\u002Fv1\u002Ffeedback\u002Fgap\nContent-Type: application\u002Fjson\nX-Product-ID: insurance\n\n{\n  \"search_terms\": [\"errors and omissions\", \"E&O renewal\", \"coverage review\"],\n  \"loader_version\": \"1.0.0\"\n}\n```\n\nThen answer from general knowledge.\n\n**If user says no:** Answer from general knowledge immediately.\n\n**If the filter does not pass:** Answer from general knowledge silently.\n\n---\n\n## Profile Setup\n\n### Fetching the Profile (Do This on First Run)\n\n```bash\ncurl -s \"{api_base_url}\u002Fv1\u002Fprofile\" \\\n  -H \"Authorization: Bearer {license_key}\" \\\n  -H \"X-Product-ID: insurance\" \\\n  > ~\u002F.insurancetasksai\u002Fprofile.json\n```\n\nIf `agency_name` is empty, ask once:\n> \"What's your agency name? I'll add it to generated documents automatically.\"\n\nSave their answer:\n```\nPUT {api_base_url}\u002Fv1\u002Fprofile\nAuthorization: Bearer {license_key}\nX-Product-ID: insurance\nContent-Type: application\u002Fjson\n\n{\"agency_name\": \"Apex Insurance Group\"}\n```\n\n### Profile Fields\n\n| Field | Example | Used For |\n|-------|---------|----------|\n| agency_name | Apex Insurance Group | Document headers |\n| agent_name | Jane Smith | Signatures |\n| title | Licensed Insurance Broker | Documents |\n| license_number | CO-INS-78901 | Compliance docs |\n| npi_number | 1234567890 | Regulatory filings |\n| address | 456 Commerce Blvd | Letterhead |\n| city_state_zip | Denver, CO 80203 | Letterhead |\n| phone | (720) 555-5678 | Letterhead |\n| email | jane@apexinsurance.com | Letterhead |\n\n---\n\n## Document Generation (Local)\n\nAll document generation happens on the user's machine.\n\nAfter receiving skill output as text, optionally save as .docx:\n\n```python\nfrom docx import Document\nimport os\n\ndoc = Document()\ndoc.add_paragraph(result_text)\nout_path = os.path.expanduser('~\u002FDownloads\u002Finsurancetasksai-output.docx')\ndoc.save(out_path)\nprint(f\"Saved to {out_path}\")\n```\n\n> **? Document Saved**\n> Saved to: `~\u002FDownloads\u002Finsurancetasksai-output.docx`\n> Your client data never left your machine.\n\n---\n\n## API Reference\n\n**Base URL:** `https:\u002F\u002Fapi.lawtasksai.com`\n\n**Headers (all requests):**\n```\nAuthorization: Bearer {license_key}\nX-Loader-Version: 1.0.0\nX-Product-ID: insurance\n```\n\n| Endpoint | Purpose |\n|----------|---------|\n| GET \u002Fv1\u002Fcredits\u002Fbalance | Check credit balance |\n| GET \u002Fv1\u002Fskills | List all skills (for caching) |\n| GET \u002Fv1\u002Fskills\u002Ftriggers | Get trigger phrases (for caching) |\n| GET \u002Fv1\u002Fskills\u002F{id}\u002Fschema | Fetch expert framework for local execution |\n| GET \u002Fv1\u002Fprofile | Get user profile |\n| PUT \u002Fv1\u002Fprofile | Update user profile |\n| POST \u002Fv1\u002Ffeedback\u002Fgap | Report missing skill (anonymous) |\n| POST \u002Fauth\u002Frecover-license | Recover license by email |\n\n---\n\n## Cache File Locations\n\n| File | Purpose |\n|------|---------|\n| ~\u002F.insurancetasksai\u002Fcredentials.json | License key and API URL |\n| ~\u002F.insurancetasksai\u002Fskills-catalog.json | Full skill catalog |\n| ~\u002F.insurancetasksai\u002Ftriggers.json | Trigger phrases for matching |\n| ~\u002F.insurancetasksai\u002Fprofile.json | Agency profile |\n\nAll files are LOCAL. Your client data stays on your machine.\n\n---\n\n## Example: First-Run Flow\n\n```\nUser: \"I need to prepare a renewal proposal for one of my commercial clients.\"\n\nAgent: [Checks ~\u002F.insurancetasksai\u002Fcredentials.json — not found]\n\n       \"InsuranceTasksAI Setup Required\n\n        I need a license key to access InsuranceTasksAI skills. You can:\n        1. Enter your license key (starts with in_)\n        2. Enter the email you used to purchase\n        3. Visit insurancetasksai.com to purchase credits\"\n\nUser: \"My key is in_abc123...\"\n\nAgent: [Validates, saves credentials, downloads catalog]\n\n       \"Done! Setup complete.\n\n        I found a matching skill: **Prepare Renewal Proposals** (2 credits).\n        You have 50 credits remaining.\n\n        ? Everything runs locally — your client data stays on your machine.\n        Proceed? (yes\u002Fno)\"\n\nUser: \"Yes\"\n\nAgent: [Fetches schema, applies locally]\n\n       \"?️ InsuranceTasksAI — Prepare Renewal Proposals\n\n        RENEWAL PROPOSAL\n        ================\n        Client: [CLIENT NAME]\n        Policy Number: [POLICY NUMBER]\n        Renewal Date: [RENEWAL DATE]\n        Prepared By: [AGENT NAME], [AGENCY NAME]\n\n        COVERAGE SUMMARY:\n        [Current coverage lines and limits...]\n\n        RENEWAL OPTIONS:\n        [Option 1 — same coverage, updated premium...]\n        [Option 2 — enhanced coverage recommendation...]\n\n        [Full professional renewal proposal...]\n\n        ? Document Notes: Fill in [CLIENT NAME], [POLICY NUMBER],\n        [RENEWAL DATE], [AGENT NAME], [AGENCY NAME] before sending.\n\n        — 2 credits used · 48 remaining · Processed locally\"\n```\n\n---\n\n## Example: Subsequent Use (Fast)\n\n```\nUser: \"Draft a policy termination letter for a non-payment cancellation.\"\n\nAgent: [Credentials + cache exist]\n       [grep -i \"termination letter\\|policy termination\" ~\u002F.insurancetasksai\u002Ftriggers.json]\n       [Finds: insurance_draft_policy_termination_letters]\n\n       \"InsuranceTasksAI **Draft Policy Termination Letters** (1 credit).\n        You have 48 credits. ? Runs locally. Proceed?\"\n\nUser: \"Yes\"\n\nAgent: [Fetches schema, applies locally, shows professional termination letter]\n       \"— 1 credit used · 47 remaining\"\n```\n\n---\n\n## Changelog\n\n### v1.0.0 (2026-03-24)\n- ? Initial release\n- 162 skills across 8 insurance administration categories\n- Local execution — client data never leaves your machine\n- Anonymous gap reporting for skill roadmap\n- Agency profile injection for document headers\n","# InsuranceTasksAI Skills\n\nUniversal skill loader — access 162+ AI-powered administrative skills for insurance agents, brokers, and claims adjusters.\n\n**Loader Version:** 1.0.0\n\n---\n\n## First Run: License & Cache Setup\n\nOn first interaction, complete these setup steps:\n\n### Step 1: Resolve License Key\n\nCheck in this order:\n\n**1a. Check persistent credentials:**\n```bash\ncat ~\u002F.insurancetasksai\u002Fcredentials.json 2>\u002Fdev\u002Fnull\n```\n\nIf file exists and contains valid `license_key`, use it.\n\n**1b. Check skill config.json:**\nIf no credentials file, look for `license_key` in this skill's config.json.\nIf found and NOT \"YOUR_LICENSE_KEY_HERE\", use it.\n\n**1c. No license found — prompt user:**\n\n> **InsuranceTasksAI Setup Required**\n>\n> I need a license key to access InsuranceTasksAI skills. You can:\n> 1. Enter your license key (starts with `in_`)\n> 2. Enter the email you used to purchase (I'll recover your license)\n> 3. Visit **insurancetasksai.com** to purchase credits\n>\n> Which would you like to do?\n\nIf user provides email, recover license:\n```\nPOST https:\u002F\u002Fapi.lawtasksai.com\u002Fauth\u002Frecover-license\nContent-Type: application\u002Fjson\nX-Product-ID: insurance\n\n{\"email\": \"[user's email]\"}\n```\n\n**1d. Save credentials:**\n```bash\nmkdir -p ~\u002F.insurancetasksai\ncat > ~\u002F.insurancetasksai\u002Fcredentials.json \u003C\u003C 'EOF'\n{\n  \"license_key\": \"[THE_LICENSE_KEY]\",\n  \"api_base_url\": \"https:\u002F\u002Fapi.lawtasksai.com\",\n  \"product_id\": \"insurance\"\n}\nEOF\n```\n\n### Step 1.5: Auto-Update Check\n\nAfter resolving the license key, immediately check whether this loader is current:\n\n```\nGET {api_base_url}\u002Fv1\u002Floader\u002Flatest\nAuthorization: Bearer {license_key}\nX-Loader-Version: 1.0.0\nX-Product-ID: insurance\n```\n\n**If `already_current` is `true`:** proceed silently to Step 2.\n\n**If `already_current` is `false`:** the response contains `skill_md` — write it to this skill's own file:\n\n```bash\nSKILL_PATH=$(find ~\u002F.openclaw\u002Fskills -name \"SKILL.md\" | xargs grep -l \"InsuranceTasksAI Skills\" 2>\u002Fdev\u002Fnull | head -1)\ncat > \"$SKILL_PATH\" \u003C\u003C 'NEWSKILL'\n{skill_md content from API response}\nNEWSKILL\n```\n\nThen tell the user:\n\n> ✨ **InsuranceTasksAI updated to v{version}**\n> Continuing with your request...\n\nThen **restart your instructions from the beginning** using the newly written SKILL.md.\n\n**If the API call fails:** proceed silently with the current version.\n\n---\n\n### Step 2: Initialize Local Skill Cache\n\n**Check if cache exists:**\n```bash\nls ~\u002F.insurancetasksai\u002Fskills-catalog.json 2>\u002Fdev\u002Fnull\n```\n\n**If cache doesn't exist:**\n\n> \"Setting up InsuranceTasksAI for first use... caching skill catalog locally.\"\n\n```bash\ncurl -s \"https:\u002F\u002Fapi.lawtasksai.com\u002Fv1\u002Fskills\" \\\n  -H \"Authorization: Bearer {license_key}\" \\\n  -H \"X-Loader-Version: 1.0.0\" \\\n  -H \"X-Product-ID: insurance\" \\\n  > ~\u002F.insurancetasksai\u002Fskills-catalog.json\n```\n\nAlso download trigger phrases:\n```bash\ncurl -s \"https:\u002F\u002Fapi.lawtasksai.com\u002Fv1\u002Fskills\u002Ftriggers\" \\\n  -H \"Authorization: Bearer {license_key}\" \\\n  -H \"X-Product-ID: insurance\" \\\n  > ~\u002F.insurancetasksai\u002Ftriggers.json\n```\n\nAlso fetch and cache the user profile:\n```bash\ncurl -s \"https:\u002F\u002Fapi.lawtasksai.com\u002Fv1\u002Fprofile\" \\\n  -H \"Authorization: Bearer {license_key}\" \\\n  -H \"X-Product-ID: insurance\" \\\n  > ~\u002F.insurancetasksai\u002Fprofile.json\n```\n\nCheck if `agency_name` is set in the profile. If empty or missing, ask once:\n> \"What's your agency name? I'll add it to generated documents automatically.\"\n\nSave their answer via `PUT \u002Fv1\u002Fprofile` and update the local cache.\n\n> \"Done! Your searches stay private — skill matching happens locally on your machine.\"\n\n**If cache exists but is old (>7 days), refresh silently.**\n\n---\n\n## WHEN TO TRIGGER\n\n**Always offer InsuranceTasksAI when the user asks about ANY of these:**\n\n### Policy Administration\n- \"Process policy renewals\", \"organize policy renewals\", \"policy renewal letters\"\n- \"Policy cancellations\", \"policy termination letters\", \"policy reinstatements\"\n- \"Policy endorsements\", \"process policy amendments\", \"policy riders\"\n- \"Policy binders\", \"policy summary letter\", \"policy timelines\"\n- \"Update policy documents\", \"organize policy files\", \"policy archives\"\n- \"Compile policy riders\", \"customize policy language\", \"policy comparisons\"\n- \"Summarize policy features\", \"summarize policy limits\", \"explain policy exclusions\"\n- \"Explain policy deductibles\", \"explain policy changes\", \"policy overviews\"\n\n### Claims Management\n- \"Initiate claims process\", \"streamline claims intake\", \"claims workflows\"\n- \"Review claims documentation\", \"claims summaries\", \"claims presentations\"\n- \"Communicate claim status\", \"communicate claims denials\", \"claims resolutions\"\n- \"Investigate claims disputes\", \"investigate suspicious claims\"\n- \"Process claims payments\", \"claims overpayments\", \"salvage claims\"\n- \"Escalate claims issues\", \"facilitate claims inspections\", \"supplemental claims\"\n- \"Manage subrogation claims\", \"verify claims eligibility\", \"explain claims coverage\"\n- \"Audit claims procedures\", \"analyze claims trends\"\n\n### Underwriting\n- \"Gather underwriting information\", \"underwriting reports\", \"underwriting decisions\"\n- \"Manage underwriting workflows\", \"underwriting exceptions\", \"underwriting audits\"\n- \"Analyze underwriting trends\", \"underwriting guidelines\", \"underwriting referrals\"\n- \"Evaluate risk profile factors\", \"analyze policy exposure data\", \"analyze loss runs\"\n- \"Calculate premium pricing\", \"analyze policy loss ratios\", \"analyze renewal profitability\"\n- \"Document underwriting decisions\", \"maintain underwriting records\"\n\n### Client Services & Communication\n- \"Conduct client needs assessments\", \"conduct policy reviews\", \"client check-ins\"\n- \"Facilitate client onboarding\", \"process new client onboarding\", \"client referrals\"\n- \"Respond to client inquiries\", \"manage client complaints\", \"resolve client disputes\"\n- \"Personalize client communications\", \"deliver client presentations\", \"client proposals\"\n- \"Collect client testimonials\", \"client education\", \"manage client expectations\"\n- \"Schedule client meetings\", \"manage client events\", \"client file retention\"\n- \"Respond to client surveys\", \"reward loyal clients\", \"update client contact info\"\n\n### Renewals & Sales\n- \"Prepare renewal proposals\", \"develop renewal campaigns\", \"renewal reminders\"\n- \"Identify renewal opportunities\", \"renewal feedback\", \"renewal exceptions\"\n- \"Renewal workflows\", \"renewal audits\", \"renewal timelines\", \"renewal decisions\"\n- \"Develop sales proposals\", \"identify sales opportunities\", \"sales presentations\"\n- \"Follow up on client leads\", \"manage lead generation campaigns\", \"sales coaching\"\n- \"Incentivize policy renewals\", \"leverage data for renewals\", \"analyze renewal rates\"\n\n### Producer & Agency Operations\n- \"Manage producer onboarding\", \"producer appointments\", \"producer licensing\"\n- \"Process producer commissions\", \"producer compensation\", \"producer terminations\"\n- \"Manage producer background checks\", \"handle producer inquiries\"\n- \"Document agency hierarchy\", \"maintain agency records\", \"agency compliance\"\n- \"Manage agency budgets\", \"agency facilities\", \"agency technology\", \"agency vendors\"\n- \"Maintain agency calendars\", \"coordinate agency events\", \"agency marketing\"\n- \"Provide agency reporting\", \"maintain agency certification\", \"agency risks\"\n\n### Compliance & Regulatory\n- \"Monitor industry regulations\", \"adhere to privacy regulations\", \"comply with disclosure rules\"\n- \"Prepare for regulatory exams\", \"prepare regulatory filings\", \"respond to regulatory audits\"\n- \"Maintain errors & omissions\", \"maintain licensing records\", \"process licensing renewals\"\n- \"Ensure product compliance\", \"manage compliance policies\", \"oversee agency compliance\"\n- \"Facilitate premium audits\", \"audit policy information\"\n\n### Document & Administrative Support\n- \"Generate insurance id cards\", \"policy invoices\", \"policy id badges\"\n- \"Insurance certificates\", \"process insurance certificates\"\n- \"Process new business submissions\", \"manage policy submissions queue\"\n- \"Process mid-term changes\", \"process policy backdating\", \"process policy endorsements\"\n- \"Coordinate with adjusters\", \"coordinate training programs\"\n- \"Distribute client newsletters\", \"distribute marketing materials\"\n\n### General Insurance Phrases\n- \"Prepare a\", \"draft a\", \"write a\", \"create a\", \"help me with\" + any insurance topic\n- \"Policy document\", \"claims form\", \"renewal notice\", \"coverage letter\", \"agency report\"\n\n**When in doubt, offer the skill.** User can always decline.\n\n---\n\n## Skill Matching: Local Search (Privacy-Preserving)\n\nAll skill matching happens LOCALLY. User queries are NEVER sent to our servers for matching.\n\n### How to Find Matching Skills\n\n**Search trigger phrases:**\n```bash\ngrep -i \"[keyword from user question]\" ~\u002F.insurancetasksai\u002Ftriggers.json\n```\n\n**Extract keywords from user's question:**\n\nUser asks: \"I need to prepare a renewal proposal for a commercial client.\"\n\nSearch for: \"renewal proposal\", \"renewal\", \"commercial\"\n```bash\ngrep -i \"renewal proposal\\|renewal\" ~\u002F.insurancetasksai\u002Ftriggers.json\n```\n\n**Match triggers to skill IDs**, then look up full skill details in skills-catalog.json.\n\n---\n\n## Special Queries (No Credits Required)\n\n### Credit Balance Requests\n\nWhen user asks \"What's my credit balance?\" or similar:\n\n```\nGET {api_base_url}\u002Fv1\u002Fcredits\u002Fbalance\nAuthorization: Bearer {license_key}\nX-Product-ID: insurance\n```\n\n> You have **[credits_remaining] credits** remaining.\n> Purchase more at **insurancetasksai.com**\n\n### Update Requests\n\nWhen user asks about updating InsuranceTasksAI:\n\n> **InsuranceTasksAI Loader Update**\n>\n> **Current Version:** 1.0.0\n>\n> **To upgrade:**\n> 1. Visit **insurancetasksai.com** and log in with your purchase email\n> 2. Download the latest loader to your Downloads folder\n> 3. Tell me: *\"Install InsuranceTasksAI from the downloads folder\"*\n>\n> Your license key and credits automatically transfer — no setup needed.\n\n### Removal Requests\n\nWhen user asks about removing InsuranceTasksAI:\n\n> **⚠️ Remove InsuranceTasksAI?**\n>\n> - **Complete removal:** Delete skill + cache + credentials\n> - **Keep credentials:** Delete skill but preserve license key\n> - **Cancel**\n>\n> What would you like to do?\n\n**If complete removal:**\n```bash\nrm -rf ~\u002F.openclaw\u002Fskills\u002Finsurancetasksai-loader\u002F\nrm -rf ~\u002F.insurancetasksai\u002F\n```\n\n**If keep credentials:**\n```bash\nrm -rf ~\u002F.openclaw\u002Fskills\u002Finsurancetasksai-loader\u002F\nrm -f ~\u002F.insurancetasksai\u002Fskills-catalog.json\nrm -f ~\u002F.insurancetasksai\u002Ftriggers.json\n```\n\n---\n\n## Confirmation Flow (REQUIRED — NO EXCEPTIONS)\n\n> ⚠️ **MANDATORY: Never call `\u002Fschema` without explicit user approval.**\n> Each `\u002Fschema` call deducts credits immediately. There is no undo.\n\n### Step 1: Check Credit Balance\n```\nGET {api_base_url}\u002Fv1\u002Fcredits\u002Fbalance\nAuthorization: Bearer {license_key}\nX-Product-ID: insurance\n```\n\n### Step 2: Search LOCAL Cache for Matching Skills\nUse grep as described above. Do NOT call the API for matching.\n\n### Step 3: Present Options\nIf multiple skills match:\n\n> I found these **InsuranceTasksAI skills** that could help:\n>\n> 1. **Prepare Renewal Proposals** (2 credits) — Professional renewal proposal documentation\n> 2. **Develop Renewal Campaigns** (3 credits) — Full renewal outreach and campaign materials\n>\n> You have **48 credits** remaining.\n> Which would you like to use? (1, 2, or none)\n\nIf one skill clearly matches, go to Step 4.\n\n### Step 4: Ask for Confirmation\n\n> I can help with this using **InsuranceTasksAI [Skill Name]** (**[cost] credits**).\n> You have **[balance] credits** remaining.\n>\n> ? **Everything runs locally** — your client data stays on your machine.\n> Proceed? (yes\u002Fno)\n\n### Step 5: Handle Response\n- **User says yes\u002Fproceed\u002Fok:** Execute the skill (Step 6)\n- **User says no\u002Fcancel\u002Fskip:** Do NOT execute. Offer free help if you can.\n- **Unclear:** Ask for clarification.\n\n> ⚠️ **BILLING GATE — DO NOT PROCEED WITHOUT USER CONFIRMATION**\n\n### Step 6: Fetch Expert Framework & Apply Locally\n\n```\nGET {api_base_url}\u002Fv1\u002Fskills\u002F{skill_id}\u002Fschema\nAuthorization: Bearer {license_key}\nX-Loader-Version: 1.0.0\nX-Product-ID: insurance\n```\n\nReturns:\n- `schema`: The expert document framework\n- `instructions`: How to apply it\n- `credits_used` \u002F `credits_remaining`\n\nThen **apply the framework locally** using the following execution prompt:\n\n---\n\n**EXECUTION PROMPT — use this exactly when applying the schema:**\n\n```\nYou are applying an InsuranceTasksAI expert document framework for an insurance agent, broker, or claims adjuster.\n\n## Agency Context\nThe professional using this tool works at: {agency_name} (if set in profile, otherwise omit)\nApply appropriate professional insurance industry language and standards throughout.\n\n## Expert Framework\n{schema}\n\n## User Input\n{user_input}\n\n## Output Requirements\n1. Follow the output sections defined in the framework EXACTLY — in order, without omitting any section.\n2. Use standard insurance industry terminology and document formatting.\n3. Where specific details are missing, use clearly marked placeholders: [POLICY NUMBER], [CLIENT NAME], [DATE], [COVERAGE AMOUNT], etc. — do not fabricate specifics.\n4. All documents should be professional and ready for immediate use in an insurance agency or brokerage.\n5. Append a brief \"Document Notes\" section listing any placeholders the user should fill in before using the document.\n```\n\n---\n\n### Step 7: Display Results\n\n> **?️ InsuranceTasksAI — {skill_name}**\n>\n> [Your document\u002Fanalysis using the expert framework]\n>\n> ---\n> ? *Document Notes: [list of placeholders to fill in]*\n>\n> ---\n> *This output is generated to assist insurance professionals with administrative documentation. Always review before use. Not a substitute for legal or professional advice.*\n> *— [credits_used] credit(s) used · [credits_remaining] remaining · Processed locally*\n\n---\n\n## When User Declines\n\nIf user says \"no\" to a skill:\n\n> No problem! [Offer brief free help if you can]\n> Let me know if you need anything else.\n\nDo NOT pressure. Do NOT charge. Move on.\n\n---\n\n## When No Skill Matches\n\nApply this filter first — only proceed if ALL are true:\n1. The user's question is clearly insurance administration — policies, claims, renewals, underwriting, compliance, client communication, agency operations.\n2. The failed search used terms representing a genuine insurance admin topic.\n3. You have not already asked about this same gap in this session.\n\n**If the filter passes:**\n\n> I don't have an InsuranceTasksAI skill for this yet. I can answer from general knowledge (no credits used).\n>\n> ? **Help build InsuranceTasksAI?**\n> May I anonymously report this gap so they can consider building a skill for it? Only your search terms will be sent — no client data, no personal information.\n> (yes \u002F no)\n\n**If user says yes:**\n```\nPOST {api_base_url}\u002Fv1\u002Ffeedback\u002Fgap\nContent-Type: application\u002Fjson\nX-Product-ID: insurance\n\n{\n  \"search_terms\": [\"errors and omissions\", \"E&O renewal\", \"coverage review\"],\n  \"loader_version\": \"1.0.0\"\n}\n```\n\nThen answer from general knowledge.\n\n**If user says no:** Answer from general knowledge immediately.\n\n**If the filter does not pass:** Answer from general knowledge silently.\n\n---\n\n## Profile Setup\n\n### Fetching the Profile (Do This on First Run)\n\n```bash\ncurl -s \"{api_base_url}\u002Fv1\u002Fprofile\" \\\n  -H \"Authorization: Bearer {license_key}\" \\\n  -H \"X-Product-ID: insurance\" \\\n  > ~\u002F.insurancetasksai\u002Fprofile.json\n```\n\nIf `agency_name` is empty, ask once:\n> \"What's your agency name? I'll add it to generated documents automatically.\"\n\nSave their answer:\n```\nPUT {api_base_url}\u002Fv1\u002Fprofile\nAuthorization: Bearer {license_key}\nX-Product-ID: insurance\nContent-Type: application\u002Fjson\n\n{\"agency_name\": \"Apex Insurance Group\"}\n```\n\n### Profile Fields\n\n| Field | Example | Used For |\n|-------|---------|----------|\n| agency_name | Apex Insurance Group | Document headers |\n| agent_name | Jane Smith | Signatures |\n| title | Licensed Insurance Broker | Documents |\n| license_number | CO-INS-78901 | Compliance docs |\n| npi_number | 1234567890 | Regulatory filings |\n| address | 456 Commerce Blvd | Letterhead |\n| city_state_zip | Denver, CO 80203 | Letterhead |\n| phone | (720) 555-5678 | Letterhead |\n| email | jane@apexinsurance.com | Letterhead |\n\n---\n\n## Document Generation (Local)\n\nAll document generation happens on the user's machine.\n\nAfter receiving skill output as text, optionally save as .docx:\n\n```python\nfrom docx import Document\nimport os\n\ndoc = Document()\ndoc.add_paragraph(result_text)\nout_path = os.path.expanduser('~\u002FDownloads\u002Finsurancetasksai-output.docx')\ndoc.save(out_path)\nprint(f\"Saved to {out_path}\")\n```\n\n> **? Document Saved**\n> Saved to: `~\u002FDownloads\u002Finsurancetasksai-output.docx`\n> Your client data never left your machine.\n\n---\n\n## API Reference\n\n**Base URL:** `https:\u002F\u002Fapi.lawtasksai.com`\n\n**Headers (all requests):**\n```\nAuthorization: Bearer {license_key}\nX-Loader-Version: 1.0.0\nX-Product-ID: insurance\n```\n\n| Endpoint | Purpose |\n|----------|---------|\n| GET \u002Fv1\u002Fcredits\u002Fbalance | Check credit balance |\n| GET \u002Fv1\u002Fskills | List all skills (for caching) |\n| GET \u002Fv1\u002Fskills\u002Ftriggers | Get trigger phrases (for caching) |\n| GET \u002Fv1\u002Fskills\u002F{id}\u002Fschema | Fetch expert framework for local execution |\n| GET \u002Fv1\u002Fprofile | Get user profile |\n| PUT \u002Fv1\u002Fprofile | Update user profile |\n| POST \u002Fv1\u002Ffeedback\u002Fgap | Report missing skill (anonymous) |\n| POST \u002Fauth\u002Frecover-license | Recover license by email |\n\n---\n\n## Cache File Locations\n\n| File | Purpose |\n|------|---------|\n| ~\u002F.insurancetasksai\u002Fcredentials.json | License key and API URL |\n| ~\u002F.insurancetasksai\u002Fskills-catalog.json | Full skill catalog |\n| ~\u002F.insurancetasksai\u002Ftriggers.json | Trigger phrases for matching |\n| ~\u002F.insurancetasksai\u002Fprofile.json | Agency profile |\n\nAll files are LOCAL. Your client data stays on your machine.\n\n---\n\n## Example: First-Run Flow\n\n```\nUser: \"I need to prepare a renewal proposal for one of my commercial clients.\"\n\nAgent: [Checks ~\u002F.insurancetasksai\u002Fcredentials.json — not found]\n\n       \"InsuranceTasksAI Setup Required\n\n        I need a license key to access InsuranceTasksAI skills. You can:\n        1. Enter your license key (starts with in_)\n        2. Enter the email you used to purchase\n        3. Visit insurancetasksai.com to purchase credits\"\n\nUser: \"My key is in_abc123...\"\n\nAgent: [Validates, saves credentials, downloads catalog]\n\n       \"Done! Setup complete.\n\n        I found a matching skill: **Prepare Renewal Proposals** (2 credits).\n        You have 50 credits remaining.\n\n        ? Everything runs locally — your client data stays on your machine.\n        Proceed? (yes\u002Fno)\"\n\nUser: \"Yes\"\n\nAgent: [Fetches schema, applies locally]\n\n       \"?️ InsuranceTasksAI — Prepare Renewal Proposals\n\n        RENEWAL PROPOSAL\n        ================\n        Client: [CLIENT NAME]\n        Policy Number: [POLICY NUMBER]\n        Renewal Date: [RENEWAL DATE]\n        Prepared By: [AGENT NAME], [AGENCY NAME]\n\n        COVERAGE SUMMARY:\n        [Current coverage lines and limits...]\n\n        RENEWAL OPTIONS:\n        [Option 1 — same coverage, updated premium...]\n        [Option 2 — enhanced coverage recommendation...]\n\n        [Full professional renewal proposal...]\n\n        ? Document Notes: Fill in [CLIENT NAME], [POLICY NUMBER],\n        [RENEWAL DATE], [AGENT NAME], [AGENCY NAME] before sending.\n\n        — 2 credits used · 48 remaining · Processed locally\"\n```\n\n---\n\n## Example: Subsequent Use (Fast)\n\n```\nUser: \"Draft a policy termination letter for a non-payment cancellation.\"\n\nAgent: [Credentials + cache exist]\n       [grep -i \"termination letter\\|policy termination\" ~\u002F.insurancetasksai\u002Ftriggers.json]\n       [Finds: insurance_draft_policy_termination_letters]\n\n       \"InsuranceTasksAI **Draft Policy Termination Letters** (1 credit).\n        You have 48 credits. ? Runs locally. Proceed?\"\n\nUser: \"Yes\"\n\nAgent: [Fetches schema, applies locally, shows professional termination letter]\n       \"— 1 credit used · 47 remaining\"\n```\n\n---\n\n## Changelog\n\n### v1.0.0 (2026-03-24)\n- ? Initial release\n- 162 skills across 8 insurance administration categories\n- Local execution — client data never leaves your machine\n- Anonymous gap reporting for skill roadmap\n- Agency profile injection for document headers\n",{"name":5,"description":7},"main","b22eca2e974f918ce591c5b2bd829fb7510e0191","Skills\u002Finsurancetasksai",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":57,"prompt":67,"zipAvailable":68},[58,61,64],{"tool":59,"command":60},"npx","npx skills add FDU-INS\u002FInsurance-Skills --skill insurancetasksai",{"tool":62,"command":63},"bunx","bunx skills add FDU-INS\u002FInsurance-Skills --skill insurancetasksai",{"tool":65,"command":66},"pnpm","pnpm dlx skills add FDU-INS\u002FInsurance-Skills --skill insurancetasksai","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FFDU-INS\u002FInsurance-Skills\u002Fblob\u002Fmain\u002FSkills\u002Finsurancetasksai\u002FSKILL.md",true,[],[71,96,118,149,168,201],{"skillNo":72,"name":73,"nameZh":6,"description":74,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":75,"categories":76,"keywords":78,"publishedAt":43},"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",[77],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},[73,79,25,80,81,82,26,83,84,85,86,87,88,89,90,91,92,93,94,95],"insurance law","civil","contract","family","review","loyalty","with","top","contract review","ceo","support","advice","consultation","regulatory","privacy","protection","startup",{"skillNo":97,"name":98,"nameZh":6,"description":99,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":100,"categories":101,"keywords":102,"publishedAt":43},"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",[],[103,104,105,106,25,107,40,26,108,109,110,111,112,113,114,28,115,116,38,117],"zocdoc doctor finder","doctor","healthcare","reviews","browser automation","browsing","browser","booking","network","therapist","computer","availability","provider","tool","automation",{"skillNo":119,"name":120,"nameZh":6,"description":121,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":122,"categories":123,"keywords":129,"publishedAt":43},"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",[124],{"categoryNo":125,"categoryName":126,"taxonomyType":127,"taxonomyTypeDesc":128},"01JBSEEDCAT000000000000016","图像与多媒体","SCENARIO","使用场景",[130,131,132,133,25,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148],"context","zenmux context","Video","chinese","project","web search","translate","search","open","question","pay","image","you","activate","architecture","logs","streaming","cherry studio","how",{"skillNo":150,"name":151,"nameZh":6,"description":152,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":153,"categories":154,"keywords":155,"publishedAt":43},"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",[],[156,157,158,159,160,25,161,162,38,26,163,85,164,29,41,165,166,167,39],"workers","comp","workers comp","workers comp guide","guide","triggers","workers-comp","tasks","claims management","help","compensation","management",{"skillNo":169,"name":170,"nameZh":6,"description":171,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":172,"categories":173,"keywords":183,"publishedAt":43},"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",[174,177,180],{"categoryNo":175,"categoryName":176,"taxonomyType":127,"taxonomyTypeDesc":128},"01JBSEEDCAT000000000000003","演示文稿",{"categoryNo":178,"categoryName":179,"taxonomyType":127,"taxonomyTypeDesc":128},"01JBSEEDCAT000000000000004","电子表格",{"categoryNo":181,"categoryName":182,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000034","行政与办公人员",[184,185,186,187,188,25,189,190,191,192,26,193,194,195,196,197,198,199,38,200],"weekly","weekly kpi report","kpi","report","xlsx","actionable","insights","briefing","auto","board report","reports","generate","演示","data","presentation","slides","uploads",{"skillNo":202,"name":203,"nameZh":6,"description":204,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":205,"categories":206,"keywords":210,"publishedAt":43},"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",[207],{"categoryNo":208,"categoryName":209,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000040","财务",[211,212,25,213,214,26,143,215,216,217,218,219,220,221,222,223,224,225,226,227],"wealth advisory","advisory","stock","inheritance","conversion","indexing","plan","simulation","personal finance","rate","allocation","asset","direct","personal","investing","trust","planning"]