sophhub 0.4.19 → 0.4.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +199 -187
- package/agents/ai-cs-admin/.config.json +51 -51
- package/agents/ai-cs-admin/AGENTS.md +293 -293
- package/agents/ai-cs-admin/HEARTBEAT.md +18 -18
- package/agents/ai-cs-qa/.config.json +47 -47
- package/agents/ai-cs-qa/BOOTSTRAP.md +22 -22
- package/agents/ai-cs-qa/scripts/setup_links.sh +39 -39
- package/agents/beauty/.config.json +17 -17
- package/agents/beauty/AGENTS.md +234 -234
- package/agents/beauty/BOOTSTRAP.md +55 -55
- package/agents/beauty/HEARTBEAT.md +5 -5
- package/agents/beauty/IDENTITY.md +5 -5
- package/agents/beauty/MEMORY.md +44 -44
- package/agents/beauty/SOUL.md +64 -64
- package/agents/beauty/TOOLS.md +160 -160
- package/agents/beauty/USER.md +114 -114
- package/agents/intern-admin/.config.json +60 -60
- package/agents/intern-admin/AGENTS.md +267 -267
- package/agents/intern-admin/BOOTSTRAP.md +21 -21
- package/agents/intern-admin/HEARTBEAT.md +3 -3
- package/agents/intern-admin/IDENTITY.md +6 -6
- package/agents/intern-admin/MEMORY.md +21 -21
- package/agents/intern-admin/SOUL.md +23 -23
- package/agents/intern-admin/TOOLS.md +93 -93
- package/agents/intern-admin/USER.md +16 -16
- package/agents/intern-admin/scripts/init_workspace.sh +27 -27
- package/agents/intern-qa/.config.json +46 -46
- package/agents/intern-qa/AGENTS.md +303 -303
- package/agents/intern-qa/BOOTSTRAP.md +16 -16
- package/agents/intern-qa/HEARTBEAT.md +3 -3
- package/agents/intern-qa/IDENTITY.md +6 -6
- package/agents/intern-qa/MEMORY.md +22 -22
- package/agents/intern-qa/SOUL.md +24 -24
- package/agents/intern-qa/TOOLS.md +24 -24
- package/agents/intern-qa/USER.md +27 -27
- package/agents/intern-qa/scripts/setup_links.sh +54 -54
- package/agents/parent-toddler/.config.json +37 -37
- package/agents/parent-toddler/AGENTS.md +51 -51
- package/agents/parent-toddler/BOOTSTRAP.md +55 -55
- package/agents/parent-toddler/HEARTBEAT.md +5 -5
- package/agents/parent-toddler/IDENTITY.md +5 -5
- package/agents/parent-toddler/MEMORY.md +22 -22
- package/agents/parent-toddler/SOUL.md +35 -35
- package/agents/parent-toddler/TOOLS.md +31 -31
- package/agents/parent-toddler/USER.md +44 -44
- package/agents/vip-admin/.config.json +51 -51
- package/agents/vip-admin/AGENTS.md +314 -314
- package/agents/vip-admin/BOOTSTRAP.md +21 -21
- package/agents/vip-admin/HEARTBEAT.md +19 -19
- package/agents/vip-admin/IDENTITY.md +6 -6
- package/agents/vip-admin/MEMORY.md +30 -30
- package/agents/vip-admin/SOUL.md +25 -25
- package/agents/vip-admin/TOOLS.md +108 -108
- package/agents/vip-admin/USER.md +31 -31
- package/agents/vip-qa/.config.json +58 -58
- package/agents/vip-qa/AGENTS.md +319 -319
- package/agents/vip-qa/BOOTSTRAP.md +73 -73
- package/agents/vip-qa/HEARTBEAT.md +23 -23
- package/agents/vip-qa/IDENTITY.md +7 -7
- package/agents/vip-qa/MEMORY.md +23 -23
- package/agents/vip-qa/SOUL.md +34 -34
- package/agents/vip-qa/TOOLS.md +41 -41
- package/agents/vip-qa/USER.md +16 -16
- package/agents/vip-qa/scripts/setup_links.sh +39 -39
- package/bin/sophhub.js +25 -25
- package/package.json +35 -33
- package/skills/agent-install/skill.json +34 -34
- package/skills/agent-install/src/SKILL.md +240 -240
- package/skills/agent-install/src/pyproject.toml +6 -6
- package/skills/agent-install/src/scripts/backup_agent.py +120 -120
- package/skills/agent-install/src/scripts/check_installed.py +479 -479
- package/skills/agent-install/src/scripts/common.py +568 -568
- package/skills/agent-install/src/scripts/copy_agent_files.py +59 -59
- package/skills/agent-install/src/scripts/list_agents.py +285 -285
- package/skills/agent-install/src/scripts/resolve_install_params.py +90 -90
- package/skills/agent-install/src/scripts/update_agent_md.py +76 -76
- package/skills/agent-install/src/scripts/update_openclaw.py +193 -193
- package/skills/agent-install/src/scripts/verify_download.py +148 -148
- package/skills/aippt/skill.json +20 -20
- package/skills/aippt/src/SKILL.md +235 -235
- package/skills/aippt/src/pyproject.toml +8 -8
- package/skills/aippt/src/scripts/auth.py +122 -122
- package/skills/aippt/src/scripts/ppt.py +361 -361
- package/skills/aippt/src/scripts/provider_docmee.py +299 -299
- package/skills/beauty-salon-inventory/skill.json +16 -16
- package/skills/beauty-salon-inventory/src/SKILL.md +69 -69
- package/skills/beauty-salon-inventory/src/scripts/init_salon_inventory.py +39 -39
- package/skills/beauty-salon-inventory/src/scripts/init_salon_inventory.sh +4 -4
- package/skills/beauty-salon-inventory/src/scripts/salon_inventory_cli.py +244 -244
- package/skills/beauty-salon-marketing/skill.json +10 -10
- package/skills/beauty-salon-marketing/src/SKILL.md +36 -36
- package/skills/beauty-salon-marketing/src/playbooks/beauty-salon-festival.md +19 -19
- package/skills/beauty-salon-marketing/src/playbooks/beauty-salon-segment.md +18 -18
- package/skills/beauty-salon-marketing/src/scripts/beauty_marketing_cli.py +99 -99
- package/skills/beauty-salon-marketing/src/scripts/member_segment.py +114 -114
- package/skills/beauty-salon-member-appointment/skill.json +10 -10
- package/skills/beauty-salon-member-appointment/src/SKILL.md +36 -36
- package/skills/beauty-salon-member-appointment/src/pyproject.toml +9 -9
- package/skills/beauty-salon-member-appointment/src/scripts/run_e2e_smoke.py +160 -160
- package/skills/beauty-salon-member-appointment/src/src/member_appt_cli/__init__.py +1 -1
- package/skills/beauty-salon-member-appointment/src/src/member_appt_cli/__main__.py +4 -4
- package/skills/beauty-salon-member-appointment/src/src/member_appt_cli/cli.py +921 -921
- package/skills/beauty-salon-member-appointment/src/src/member_appt_cli/db.py +30 -30
- package/skills/beauty-salon-membership/skill.json +20 -20
- package/skills/beauty-salon-membership/src/SKILL.md +67 -67
- package/skills/beauty-salon-product-service/skill.json +12 -12
- package/skills/beauty-salon-product-service/src/SKILL.md +42 -42
- package/skills/beauty-salon-product-service/src/pyproject.toml +9 -9
- package/skills/beauty-salon-product-service/src/src/product_service_cli/__init__.py +1 -1
- package/skills/beauty-salon-product-service/src/src/product_service_cli/__main__.py +4 -4
- package/skills/beauty-salon-product-service/src/src/product_service_cli/cli.py +329 -329
- package/skills/beauty-salon-product-service/src/src/product_service_cli/db.py +29 -29
- package/skills/beauty-salon-staff/skill.json +10 -10
- package/skills/beauty-salon-staff/src/SKILL.md +37 -37
- package/skills/beauty-salon-staff/src/pyproject.toml +9 -9
- package/skills/beauty-salon-staff/src/src/staff_cli/__init__.py +1 -1
- package/skills/beauty-salon-staff/src/src/staff_cli/__main__.py +4 -4
- package/skills/beauty-salon-staff/src/src/staff_cli/cli.py +479 -479
- package/skills/beauty-salon-staff/src/src/staff_cli/db.py +28 -28
- package/skills/beauty-salon-suite/skill.json +13 -13
- package/skills/beauty-salon-suite/src/SKILL.md +18 -18
- package/skills/beauty-salon-suite/src/beauty_db/__init__.py +2 -2
- package/skills/beauty-salon-suite/src/beauty_db/db.py +249 -249
- package/skills/beauty-salon-traffic/skill.json +20 -20
- package/skills/beauty-salon-traffic/src/SKILL.md +84 -84
- package/skills/bing-image-search/skill.json +20 -20
- package/skills/bing-image-search/src/SKILL.md +105 -105
- package/skills/bot-api-status/skill.json +44 -44
- package/skills/bot-api-status/src/SKILL.md +99 -99
- package/skills/bot-api-status/src/pyproject.toml +5 -5
- package/skills/bot-api-status/src/scripts/secret.py +496 -496
- package/skills/bot-secret/skill.json +35 -35
- package/skills/bot-secret/src/SKILL.md +51 -51
- package/skills/bot-secret/src/pyproject.toml +5 -5
- package/skills/bot-secret/src/scripts/secret.py +120 -120
- package/skills/cake-flower-holiday-campaign/skill.json +20 -20
- package/skills/cake-flower-holiday-campaign/src/SKILL.md +68 -68
- package/skills/cake-flower-order-sop/skill.json +20 -20
- package/skills/cake-flower-order-sop/src/SKILL.md +65 -65
- package/skills/claw-agent-get-send/skill.json +32 -32
- package/skills/claw-agent-get-send/src/SKILL.md +43 -43
- package/skills/claw-agent-get-send/src/pyproject.toml +5 -5
- package/skills/claw-agent-get-send/src/scripts/appia_claw.py +379 -379
- package/skills/compact-context/skill.json +20 -20
- package/skills/compact-context/src/SKILL.md +133 -133
- package/skills/compact-context/src/scripts/check.sh +381 -381
- package/skills/compact-context/src/scripts/set-keep-recent.mjs +1337 -1337
- package/skills/compact-context/src/scripts/setup.sh +96 -96
- package/skills/consensus/skill.json +20 -20
- package/skills/consensus/src/SKILL.md +93 -93
- package/skills/deepwiki/skill.json +20 -20
- package/skills/deepwiki/src/SKILL.md +45 -45
- package/skills/deepwiki/src/_meta.json +5 -5
- package/skills/deepwiki/src/scripts/deepwiki.js +135 -135
- package/skills/didi-ride/skill.json +20 -20
- package/skills/didi-ride/src/SKILL.md +309 -309
- package/skills/didi-ride/src/_meta.json +5 -5
- package/skills/didi-ride/src/assets/PREFERENCE.md +58 -58
- package/skills/didi-ride/src/package.json +15 -15
- package/skills/didi-ride/src/references/api_references.md +171 -171
- package/skills/didi-ride/src/references/error_handling.md +68 -68
- package/skills/didi-ride/src/references/setup.md +73 -73
- package/skills/didi-ride/src/references/workflow.md +150 -150
- package/skills/feishu-bitable/skill.json +20 -20
- package/skills/feishu-bitable/src/CHECKLIST.md +149 -149
- package/skills/feishu-bitable/src/README.md +177 -177
- package/skills/feishu-bitable/src/SKILL.md +113 -113
- package/skills/feishu-bitable/src/_meta.json +5 -5
- package/skills/feishu-bitable/src/api.js +380 -380
- package/skills/feishu-bitable/src/bin/cli.js +283 -283
- package/skills/feishu-bitable/src/description.md +142 -142
- package/skills/feishu-bitable/src/examples/create-records.json +51 -51
- package/skills/feishu-bitable/src/examples/create-table.json +63 -63
- package/skills/feishu-bitable/src/package-lock.json +324 -324
- package/skills/feishu-bitable/src/package.json +32 -32
- package/skills/feishu-bitable/src/publish-config.json +13 -13
- package/skills/feishu-bitable/src/test-simple.js +60 -60
- package/skills/feishu-bitable/src/utils.js +260 -260
- package/skills/feishu-notes-assistant-universal/skill.json +20 -20
- package/skills/feishu-notes-assistant-universal/src/README.md +55 -55
- package/skills/feishu-notes-assistant-universal/src/SKILL.md +159 -159
- package/skills/feishu-notes-assistant-universal/src/scripts/_resolve_lark_cli.py +58 -58
- package/skills/feishu-notes-assistant-universal/src/scripts/openclaw_meeting_minutes.py +462 -462
- package/skills/feishu-notes-assistant-universal/src/scripts/openclaw_notes_crud.py +547 -547
- package/skills/feishu-notes-assistant-universal/src/scripts/openclaw_notes_crud_test.py +181 -181
- package/skills/feishu-notes-assistant-universal/src/scripts/run_meeting_minutes.py +80 -80
- package/skills/feishu-notes-assistant-universal/src/scripts/run_meeting_minutes.sh +5 -5
- package/skills/feishu-notes-assistant-universal/src/scripts/run_note_crud.py +32 -32
- package/skills/feishu-notes-assistant-universal/src/scripts/run_note_crud.sh +5 -5
- package/skills/flight-booking/skill.json +36 -36
- package/skills/flight-booking/src/SKILL.md +288 -288
- package/skills/flight-booking/src/scripts/flight_booking.py +1237 -1237
- package/skills/flyai/skill.json +20 -20
- package/skills/flyai/src/SKILL.md +119 -119
- package/skills/flyai/src/references/fliggy-fast-search.md +53 -53
- package/skills/flyai/src/references/search-flight.md +89 -89
- package/skills/flyai/src/references/search-hotels.md +57 -57
- package/skills/flyai/src/references/search-poi.md +48 -48
- package/skills/google-maps/skill.json +20 -20
- package/skills/google-maps/src/SKILL.md +237 -237
- package/skills/google-maps/src/_meta.json +5 -5
- package/skills/google-maps/src/lib/map_helper.py +912 -912
- package/skills/image-classify/skill.json +42 -42
- package/skills/image-classify/src/SKILL.md +368 -368
- package/skills/image-classify/src/references/config.json +4 -4
- package/skills/image-classify/src/scripts/face_search.py +1276 -1276
- package/skills/image-description/skill.json +34 -34
- package/skills/image-description/src/SKILL.md +33 -33
- package/skills/image-description/src/pyproject.toml +8 -8
- package/skills/image-description/src/scripts/ana_image.py +112 -112
- package/skills/image-identify-world/skill.json +20 -20
- package/skills/image-identify-world/src/SKILL.md +40 -40
- package/skills/image-identify-world/src/pyproject.toml +8 -8
- package/skills/image-identify-world/src/scripts/identify_world.py +115 -115
- package/skills/insurance-policy-review/skill.json +27 -27
- package/skills/insurance-policy-review/src/SKILL.md +75 -75
- package/skills/insurance-sales-playbook/skill.json +20 -20
- package/skills/insurance-sales-playbook/src/SKILL.md +58 -58
- package/skills/inventory-management/skill.json +20 -20
- package/skills/inventory-management/src/SKILL.md +241 -241
- package/skills/inventory-management/src/scripts/inventory.py +1844 -1844
- package/skills/large-task-router/skill.json +20 -20
- package/skills/large-task-router/src/SKILL.md +79 -79
- package/skills/large-task-router/src/templates/plan.md +74 -74
- package/skills/lawding-contract-review/skill.json +20 -20
- package/skills/lawding-contract-review/src/SKILL.md +284 -284
- package/skills/lawding-contract-review/src/references/legal-language-library.md +1385 -1385
- package/skills/lawding-contract-review/src/scripts/build_reminders.py +471 -471
- package/skills/lawding-contract-review/src/scripts/register_contract_cron.py +457 -457
- package/skills/md2pdf-converter/skill.json +20 -20
- package/skills/md2pdf-converter/src/SKILL.md +244 -244
- package/skills/md2pdf-converter/src/_meta.json +5 -5
- package/skills/md2pdf-converter/src/scripts/generate_emoji_mapping.py +74 -74
- package/skills/md2pdf-converter/src/scripts/md2pdf-local.sh +291 -291
- package/skills/notes-hub-assistant/skill.json +20 -20
- package/skills/notes-hub-assistant/src/SKILL.md +233 -233
- package/skills/notes-hub-assistant/src/scripts/_resolve_lark_cli.py +48 -48
- package/skills/notes-hub-assistant/src/scripts/openclaw_meeting_minutes.py +473 -473
- package/skills/notes-hub-assistant/src/scripts/openclaw_notes_crud.py +596 -596
- package/skills/notes-hub-assistant/src/scripts/openclaw_wolai_notes_crud.py +364 -364
- package/skills/notes-hub-assistant/src/scripts/run_meeting_minutes.py +79 -79
- package/skills/notes-hub-assistant/src/scripts/run_note_crud.py +37 -37
- package/skills/notes-hub-assistant/src/scripts/run_notionbot.py +36 -36
- package/skills/notes-hub-assistant/src/scripts/run_wolai_note_crud.py +27 -27
- package/skills/schedule-reminder/skill.json +20 -20
- package/skills/schedule-reminder/src/SKILL.md +619 -619
- package/skills/schedule-reminder/src/schedule_template.md +68 -68
- package/skills/schedule-reminder/src/scripts/append_event.py +204 -204
- package/skills/schedule-reminder/src/scripts/create_reminders.sh +163 -163
- package/skills/schedule-reminder/src/scripts/daily_activate.sh +175 -175
- package/skills/schedule-reminder/src/scripts/parse_schedule.py +704 -704
- package/skills/schedule-reminder/src/scripts/setup.sh +242 -242
- package/skills/schedule-reminder/src//347/224/250/346/210/267/346/214/207/345/215/227.md +311 -311
- package/skills/sessions-analysis/skill.json +34 -34
- package/skills/sessions-analysis/src/SKILL.md +81 -81
- package/skills/sessions-analysis/src/pyproject.toml +5 -5
- package/skills/sessions-analysis/src/scripts/ana_logs.py +205 -205
- package/skills/share-skill/skill.json +20 -20
- package/skills/share-skill/src/SKILL.md +261 -261
- package/skills/share-skill/src/scripts/share_skill_to_friend.py +1031 -1031
- package/skills/skill-creator/skill.json +20 -20
- package/skills/skill-creator/src/SKILL.md +370 -370
- package/skills/skill-creator/src/license.txt +202 -202
- package/skills/skill-creator/src/scripts/init_skill.py +378 -378
- package/skills/skill-creator/src/scripts/package_skill.py +111 -111
- package/skills/skill-creator/src/scripts/quick_validate.py +101 -101
- package/skills/skillhub/skill.json +27 -27
- package/skills/skillhub/src/SKILL.md +121 -121
- package/skills/sophnet-age-appearance/skill.json +20 -20
- package/skills/sophnet-age-appearance/src/SKILL.md +83 -83
- package/skills/sophnet-age-appearance/src/pyproject.toml +10 -10
- package/skills/sophnet-age-appearance/src/scripts/age_appearance.py +395 -395
- package/skills/sophnet-age-appearance/src/scripts/age_face_crop.py +313 -313
- package/skills/sophnet-bot-client/skill.json +20 -20
- package/skills/sophnet-bot-client/src/SKILL.md +255 -255
- package/skills/sophnet-bot-client/src/pyproject.toml +13 -13
- package/skills/sophnet-bot-client/src/scripts/bot_client_proxy.py +165 -165
- package/skills/sophnet-bot-client/src/scripts/bot_client_safe.sh +29 -29
- package/skills/sophnet-bot-client/src/scripts/bot_client_setup.py +502 -502
- package/skills/sophnet-bot-client/src/tests/test_bot_client_proxy.py +255 -255
- package/skills/sophnet-bot-client/src/tests/test_bot_client_setup.py +679 -679
- package/skills/sophnet-bot-client/src/uv.lock +8 -8
- package/skills/sophnet-customer-management/skill.json +20 -20
- package/skills/sophnet-customer-management/src/SKILL.md +270 -270
- package/skills/sophnet-customer-management/src/pyproject.toml +15 -15
- package/skills/sophnet-customer-management/src/src/customer_mgmt_cli/__init__.py +2 -2
- package/skills/sophnet-customer-management/src/src/customer_mgmt_cli/__main__.py +5 -5
- package/skills/sophnet-customer-management/src/src/customer_mgmt_cli/cli.py +67 -67
- package/skills/sophnet-customer-management/src/src/customer_mgmt_cli/commands/__init__.py +2 -2
- package/skills/sophnet-customer-management/src/src/customer_mgmt_cli/commands/customer.py +60 -60
- package/skills/sophnet-customer-management/src/src/customer_mgmt_cli/commands/export_file.py +18 -18
- package/skills/sophnet-customer-management/src/src/customer_mgmt_cli/commands/import_file.py +15 -15
- package/skills/sophnet-customer-management/src/src/customer_mgmt_cli/commands/reminder.py +26 -26
- package/skills/sophnet-customer-management/src/src/customer_mgmt_cli/commands/schema.py +28 -28
- package/skills/sophnet-customer-management/src/src/customer_mgmt_cli/config.py +54 -54
- package/skills/sophnet-customer-management/src/src/customer_mgmt_core/__init__.py +2 -2
- package/skills/sophnet-customer-management/src/src/customer_mgmt_core/exporter.py +85 -85
- package/skills/sophnet-customer-management/src/src/customer_mgmt_core/models.py +84 -84
- package/skills/sophnet-customer-management/src/src/customer_mgmt_core/normalizer.py +144 -144
- package/skills/sophnet-customer-management/src/src/customer_mgmt_core/parser.py +241 -241
- package/skills/sophnet-customer-management/src/src/customer_mgmt_core/query.py +109 -109
- package/skills/sophnet-customer-management/src/src/customer_mgmt_core/reminder.py +121 -121
- package/skills/sophnet-customer-management/src/src/customer_mgmt_core/repository.py +397 -397
- package/skills/sophnet-customer-management/src/src/customer_mgmt_core/schema.py +106 -106
- package/skills/sophnet-customer-management/src/src/customer_mgmt_core/service.py +565 -565
- package/skills/sophnet-customer-management/src/uv.lock +48 -48
- package/skills/sophnet-customized-marketing/skill.json +28 -28
- package/skills/sophnet-customized-marketing/src/SKILL.md +144 -144
- package/skills/sophnet-customized-marketing/src/playbooks/campaign-planning.md +187 -187
- package/skills/sophnet-customized-marketing/src/playbooks/content-generation.md +124 -124
- package/skills/sophnet-customized-marketing/src/playbooks/marketing-calendar.md +59 -59
- package/skills/sophnet-customized-marketing/src/playbooks/multi-channel-bundle.md +94 -94
- package/skills/sophnet-customized-marketing/src/playbooks/poster-generation.md +182 -182
- package/skills/sophnet-customized-marketing/src/playbooks/style-profile-workflow.md +103 -103
- package/skills/sophnet-customized-marketing/src/pyproject.toml +8 -8
- package/skills/sophnet-customized-marketing/src/references/campaign-mechanics.md +168 -168
- package/skills/sophnet-customized-marketing/src/references/content-safety.md +26 -26
- package/skills/sophnet-customized-marketing/src/references/marketing-date-checklist.md +99 -99
- package/skills/sophnet-customized-marketing/src/references/platform-writing-guidelines.md +88 -88
- package/skills/sophnet-customized-marketing/src/references/quality-checklist.md +44 -44
- package/skills/sophnet-customized-marketing/src/scripts/generate_poster.py +572 -572
- package/skills/sophnet-customized-marketing/src/scripts/style_profile.py +215 -215
- package/skills/sophnet-dailynews/skill.json +20 -20
- package/skills/sophnet-dailynews/src/SKILL.md +179 -179
- package/skills/sophnet-dailynews/src/cache.json +150 -150
- package/skills/sophnet-dailynews/src/sources.json +230 -230
- package/skills/sophnet-docx/skill.json +20 -20
- package/skills/sophnet-docx/src/SKILL.md +463 -463
- package/skills/sophnet-docx/src/package-lock.json +208 -208
- package/skills/sophnet-docx/src/package.json +16 -16
- package/skills/sophnet-docx/src/pyproject.toml +11 -11
- package/skills/sophnet-docx/src/scripts/__init__.py +1 -1
- package/skills/sophnet-docx/src/scripts/accept_changes.py +135 -135
- package/skills/sophnet-docx/src/scripts/comment.py +318 -318
- package/skills/sophnet-docx/src/scripts/ensure_uv_env.sh +68 -68
- package/skills/sophnet-docx/src/scripts/office/helpers/merge_runs.py +199 -199
- package/skills/sophnet-docx/src/scripts/office/helpers/simplify_redlines.py +197 -197
- package/skills/sophnet-docx/src/scripts/office/pack.py +159 -159
- package/skills/sophnet-docx/src/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -1499
- package/skills/sophnet-docx/src/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -146
- package/skills/sophnet-docx/src/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -1085
- package/skills/sophnet-docx/src/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -11
- package/skills/sophnet-docx/src/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -3081
- package/skills/sophnet-docx/src/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -23
- package/skills/sophnet-docx/src/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -185
- package/skills/sophnet-docx/src/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -287
- package/skills/sophnet-docx/src/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -1676
- package/skills/sophnet-docx/src/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -28
- package/skills/sophnet-docx/src/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -144
- package/skills/sophnet-docx/src/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -174
- package/skills/sophnet-docx/src/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -25
- package/skills/sophnet-docx/src/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -18
- package/skills/sophnet-docx/src/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -59
- package/skills/sophnet-docx/src/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -56
- package/skills/sophnet-docx/src/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -195
- package/skills/sophnet-docx/src/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -582
- package/skills/sophnet-docx/src/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -25
- package/skills/sophnet-docx/src/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -4439
- package/skills/sophnet-docx/src/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -570
- package/skills/sophnet-docx/src/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -509
- package/skills/sophnet-docx/src/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -12
- package/skills/sophnet-docx/src/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -108
- package/skills/sophnet-docx/src/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -96
- package/skills/sophnet-docx/src/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -3646
- package/skills/sophnet-docx/src/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -116
- package/skills/sophnet-docx/src/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -42
- package/skills/sophnet-docx/src/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -50
- package/skills/sophnet-docx/src/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -49
- package/skills/sophnet-docx/src/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -33
- package/skills/sophnet-docx/src/scripts/office/schemas/mce/mc.xsd +75 -75
- package/skills/sophnet-docx/src/scripts/office/schemas/microsoft/wml-2010.xsd +560 -560
- package/skills/sophnet-docx/src/scripts/office/schemas/microsoft/wml-2012.xsd +67 -67
- package/skills/sophnet-docx/src/scripts/office/schemas/microsoft/wml-2018.xsd +14 -14
- package/skills/sophnet-docx/src/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -20
- package/skills/sophnet-docx/src/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -13
- package/skills/sophnet-docx/src/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -4
- package/skills/sophnet-docx/src/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -8
- package/skills/sophnet-docx/src/scripts/office/soffice.py +183 -183
- package/skills/sophnet-docx/src/scripts/office/unpack.py +132 -132
- package/skills/sophnet-docx/src/scripts/office/validate.py +111 -111
- package/skills/sophnet-docx/src/scripts/office/validators/__init__.py +15 -15
- package/skills/sophnet-docx/src/scripts/office/validators/base.py +847 -847
- package/skills/sophnet-docx/src/scripts/office/validators/docx.py +446 -446
- package/skills/sophnet-docx/src/scripts/office/validators/pptx.py +275 -275
- package/skills/sophnet-docx/src/scripts/office/validators/redlining.py +247 -247
- package/skills/sophnet-docx/src/scripts/templates/comments.xml +3 -3
- package/skills/sophnet-docx/src/scripts/templates/commentsExtended.xml +3 -3
- package/skills/sophnet-docx/src/scripts/templates/commentsExtensible.xml +3 -3
- package/skills/sophnet-docx/src/scripts/templates/commentsIds.xml +3 -3
- package/skills/sophnet-docx/src/scripts/templates/people.xml +3 -3
- package/skills/sophnet-docx/src/scripts/upload_file.sh +96 -96
- package/skills/sophnet-docx/src/uv.lock +320 -320
- package/skills/sophnet-face-search/skill.json +20 -20
- package/skills/sophnet-face-search/src/SKILL.md +115 -115
- package/skills/sophnet-face-search/src/pyproject.toml +11 -11
- package/skills/sophnet-face-search/src/scripts/face_search.py +335 -335
- package/skills/sophnet-face-search/src/uv.lock +508 -508
- package/skills/sophnet-id-photo/skill.json +20 -20
- package/skills/sophnet-id-photo/src/SKILL.md +107 -107
- package/skills/sophnet-id-photo/src/pyproject.toml +10 -10
- package/skills/sophnet-id-photo/src/scripts/id_photo.py +540 -540
- package/skills/sophnet-id-photo/src/scripts/id_photo_compliance.py +215 -215
- package/skills/sophnet-id-photo/src/scripts/id_photo_face_crop.py +313 -313
- package/skills/sophnet-image-edit/skill.json +20 -20
- package/skills/sophnet-image-edit/src/SKILL.md +140 -140
- package/skills/sophnet-image-edit/src/pyproject.toml +9 -9
- package/skills/sophnet-image-edit/src/scripts/edit_and_preview.sh +68 -68
- package/skills/sophnet-image-edit/src/scripts/edit_image.py +279 -279
- package/skills/sophnet-image-edit/src/uv.lock +234 -234
- package/skills/sophnet-image-generate/skill.json +20 -20
- package/skills/sophnet-image-generate/src/SKILL.md +62 -62
- package/skills/sophnet-image-generate/src/pyproject.toml +9 -9
- package/skills/sophnet-image-generate/src/scripts/generate_image.py +156 -156
- package/skills/sophnet-image-generate/src/uv.lock +234 -234
- package/skills/sophnet-image-ocr/skill.json +20 -20
- package/skills/sophnet-image-ocr/src/SKILL.md +167 -167
- package/skills/sophnet-image-ocr/src/pyproject.toml +13 -13
- package/skills/sophnet-image-ocr/src/scripts/ocr.py +225 -225
- package/skills/sophnet-image-ocr/src/uv.lock +234 -234
- package/skills/sophnet-infinite-talk/skill.json +20 -20
- package/skills/sophnet-infinite-talk/src/SKILL.md +140 -140
- package/skills/sophnet-infinite-talk/src/pyproject.toml +9 -9
- package/skills/sophnet-infinite-talk/src/scripts/gen.py +172 -172
- package/skills/sophnet-oss/skill.json +27 -27
- package/skills/sophnet-oss/src/SKILL.md +118 -118
- package/skills/sophnet-oss/src/pyproject.toml +8 -8
- package/skills/sophnet-oss/src/scripts/upload_file.py +43 -43
- package/skills/sophnet-pdf/skill.json +20 -20
- package/skills/sophnet-pdf/src/SKILL.md +413 -413
- package/skills/sophnet-pdf/src/forms.md +297 -297
- package/skills/sophnet-pdf/src/pyproject.toml +14 -14
- package/skills/sophnet-pdf/src/reference.md +611 -611
- package/skills/sophnet-pdf/src/scripts/check_bounding_boxes.py +65 -65
- package/skills/sophnet-pdf/src/scripts/check_fillable_fields.py +11 -11
- package/skills/sophnet-pdf/src/scripts/convert_pdf_to_images.py +33 -33
- package/skills/sophnet-pdf/src/scripts/create_validation_image.py +37 -37
- package/skills/sophnet-pdf/src/scripts/enhance_tutorial.py +557 -557
- package/skills/sophnet-pdf/src/scripts/ensure_uv_env.sh +68 -68
- package/skills/sophnet-pdf/src/scripts/extract_form_field_info.py +122 -122
- package/skills/sophnet-pdf/src/scripts/extract_form_structure.py +115 -115
- package/skills/sophnet-pdf/src/scripts/extract_pdf_content.py +34 -34
- package/skills/sophnet-pdf/src/scripts/fill_fillable_fields.py +98 -98
- package/skills/sophnet-pdf/src/scripts/fill_pdf_form_with_annotations.py +107 -107
- package/skills/sophnet-pdf/src/scripts/upload_file.sh +88 -88
- package/skills/sophnet-pdf/src/uv.lock +537 -537
- package/skills/sophnet-qa-install/skill.json +27 -27
- package/skills/sophnet-qa-install/src/SKILL.md +210 -210
- package/skills/sophnet-qa-install/src/pyproject.toml +6 -6
- package/skills/sophnet-qa-install/src/scripts/backup_md.py +35 -35
- package/skills/sophnet-qa-install/src/scripts/check_installed.py +143 -143
- package/skills/sophnet-qa-install/src/scripts/update_config.py +142 -142
- package/skills/sophnet-qa-install/src/scripts/update_md.py +73 -73
- package/skills/sophnet-schedule/skill.json +20 -20
- package/skills/sophnet-schedule/src/ARCHITECTURE.md +321 -321
- package/skills/sophnet-schedule/src/IMPROVEMENTS.md +145 -145
- package/skills/sophnet-schedule/src/SKILL.md +1050 -1050
- package/skills/sophnet-schedule/src/_meta.json +6 -6
- package/skills/sophnet-schedule/src/api/models.py +245 -245
- package/skills/sophnet-schedule/src/apps/add_event.py +237 -237
- package/skills/sophnet-schedule/src/apps/check_reminders.py +112 -112
- package/skills/sophnet-schedule/src/apps/check_roc.py +246 -246
- package/skills/sophnet-schedule/src/apps/generate_daily_plan.py +342 -342
- package/skills/sophnet-schedule/src/apps/import_events.py +216 -216
- package/skills/sophnet-schedule/src/apps/monitor_calendar_changes.py +140 -140
- package/skills/sophnet-schedule/src/apps/register_tasks.py +169 -169
- package/skills/sophnet-schedule/src/apps/sync_roc_to_gcal.py +174 -174
- package/skills/sophnet-schedule/src/compat.py +66 -66
- package/skills/sophnet-schedule/src/config/reminder_rules.yaml +96 -96
- package/skills/sophnet-schedule/src/config/roc_events.yaml +44 -44
- package/skills/sophnet-schedule/src/config/settings.py +133 -133
- package/skills/sophnet-schedule/src/config/task_registry.yaml +92 -92
- package/skills/sophnet-schedule/src/docs/FRONTEND_INTEGRATION_GUIDE.md +437 -437
- package/skills/sophnet-schedule/src/gcal/client.py +374 -374
- package/skills/sophnet-schedule/src/gcal/models.py +91 -91
- package/skills/sophnet-schedule/src/requirements.txt +6 -6
- package/skills/sophnet-schedule/src/scripts/setup_gcal_token.py +85 -85
- package/skills/sophnet-schedule/src/server.py +669 -669
- package/skills/sophnet-schedule/src/services/calendar_backend.py +139 -139
- package/skills/sophnet-schedule/src/services/conflict_detector.py +96 -96
- package/skills/sophnet-schedule/src/services/datetime_utils.py +117 -117
- package/skills/sophnet-schedule/src/services/event_classifier.py +100 -100
- package/skills/sophnet-schedule/src/services/event_diff.py +160 -160
- package/skills/sophnet-schedule/src/services/google_integration.py +500 -500
- package/skills/sophnet-schedule/src/services/job_store.py +100 -100
- package/skills/sophnet-schedule/src/services/local_event_store.py +266 -266
- package/skills/sophnet-schedule/src/services/reminder_planner.py +116 -116
- package/skills/sophnet-schedule/src/services/runtime_utils.py +31 -31
- package/skills/sophnet-schedule/src/services/table_parser.py +286 -286
- package/skills/sophnet-schedule/src/services/task_builder.py +167 -167
- package/skills/sophnet-schedule/src/services/time_window.py +72 -72
- package/skills/sophnet-sticker-edit/skill.json +27 -27
- package/skills/sophnet-sticker-edit/src/SKILL.md +80 -80
- package/skills/sophnet-sticker-edit/src/pyproject.toml +9 -9
- package/skills/sophnet-sticker-edit/src/scripts/edit_sticker_image.py +403 -403
- package/skills/sophnet-stock/skill.json +20 -20
- package/skills/sophnet-stock/src/App-Plan.md +442 -442
- package/skills/sophnet-stock/src/README.md +214 -214
- package/skills/sophnet-stock/src/SKILL.md +236 -236
- package/skills/sophnet-stock/src/TODO.md +394 -394
- package/skills/sophnet-stock/src/_meta.json +5 -5
- package/skills/sophnet-stock/src/docs/ARCHITECTURE.md +408 -408
- package/skills/sophnet-stock/src/docs/CONCEPT.md +233 -233
- package/skills/sophnet-stock/src/docs/HOT_SCANNER.md +288 -288
- package/skills/sophnet-stock/src/docs/README.md +95 -95
- package/skills/sophnet-stock/src/docs/USAGE.md +465 -465
- package/skills/sophnet-stock/src/scripts/analyze_stock.py +2565 -2565
- package/skills/sophnet-stock/src/scripts/dividends.py +365 -365
- package/skills/sophnet-stock/src/scripts/hot_scanner.py +582 -582
- package/skills/sophnet-stock/src/scripts/portfolio.py +548 -548
- package/skills/sophnet-stock/src/scripts/rumor_scanner.py +342 -342
- package/skills/sophnet-stock/src/scripts/test_stock_analysis.py +409 -409
- package/skills/sophnet-stock/src/scripts/watchlist.py +336 -336
- package/skills/sophnet-training-install/skill.json +27 -27
- package/skills/sophnet-training-install/src/SKILL.md +211 -211
- package/skills/sophnet-training-install/src/pyproject.toml +6 -6
- package/skills/sophnet-training-install/src/scripts/backup_md.py +35 -35
- package/skills/sophnet-training-install/src/scripts/check_installed.py +144 -144
- package/skills/sophnet-training-install/src/scripts/update_config.py +142 -142
- package/skills/sophnet-training-install/src/scripts/update_md.py +73 -73
- package/skills/sophnet-tts/skill.json +20 -20
- package/skills/sophnet-tts/src/SKILL.md +79 -79
- package/skills/sophnet-tts/src/pyproject.toml +9 -9
- package/skills/sophnet-tts/src/scripts/gen_tts.py +130 -130
- package/skills/sophnet-video-generate/skill.json +37 -37
- package/skills/sophnet-video-generate/src/SKILL.md +117 -117
- package/skills/sophnet-video-generate/src/scripts/gen_video.py +321 -321
- package/skills/sophnet-xlsx/skill.json +20 -20
- package/skills/sophnet-xlsx/src/SKILL.md +399 -399
- package/skills/sophnet-xlsx/src/pyproject.toml +11 -11
- package/skills/sophnet-xlsx/src/scripts/ensure_uv_env.sh +68 -68
- package/skills/sophnet-xlsx/src/scripts/office/helpers/merge_runs.py +199 -199
- package/skills/sophnet-xlsx/src/scripts/office/helpers/simplify_redlines.py +197 -197
- package/skills/sophnet-xlsx/src/scripts/office/pack.py +159 -159
- package/skills/sophnet-xlsx/src/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chart.xsd +1499 -1499
- package/skills/sophnet-xlsx/src/scripts/office/schemas/ISO-IEC29500-4_2016/dml-chartDrawing.xsd +146 -146
- package/skills/sophnet-xlsx/src/scripts/office/schemas/ISO-IEC29500-4_2016/dml-diagram.xsd +1085 -1085
- package/skills/sophnet-xlsx/src/scripts/office/schemas/ISO-IEC29500-4_2016/dml-lockedCanvas.xsd +11 -11
- package/skills/sophnet-xlsx/src/scripts/office/schemas/ISO-IEC29500-4_2016/dml-main.xsd +3081 -3081
- package/skills/sophnet-xlsx/src/scripts/office/schemas/ISO-IEC29500-4_2016/dml-picture.xsd +23 -23
- package/skills/sophnet-xlsx/src/scripts/office/schemas/ISO-IEC29500-4_2016/dml-spreadsheetDrawing.xsd +185 -185
- package/skills/sophnet-xlsx/src/scripts/office/schemas/ISO-IEC29500-4_2016/dml-wordprocessingDrawing.xsd +287 -287
- package/skills/sophnet-xlsx/src/scripts/office/schemas/ISO-IEC29500-4_2016/pml.xsd +1676 -1676
- package/skills/sophnet-xlsx/src/scripts/office/schemas/ISO-IEC29500-4_2016/shared-additionalCharacteristics.xsd +28 -28
- package/skills/sophnet-xlsx/src/scripts/office/schemas/ISO-IEC29500-4_2016/shared-bibliography.xsd +144 -144
- package/skills/sophnet-xlsx/src/scripts/office/schemas/ISO-IEC29500-4_2016/shared-commonSimpleTypes.xsd +174 -174
- package/skills/sophnet-xlsx/src/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlDataProperties.xsd +25 -25
- package/skills/sophnet-xlsx/src/scripts/office/schemas/ISO-IEC29500-4_2016/shared-customXmlSchemaProperties.xsd +18 -18
- package/skills/sophnet-xlsx/src/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesCustom.xsd +59 -59
- package/skills/sophnet-xlsx/src/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesExtended.xsd +56 -56
- package/skills/sophnet-xlsx/src/scripts/office/schemas/ISO-IEC29500-4_2016/shared-documentPropertiesVariantTypes.xsd +195 -195
- package/skills/sophnet-xlsx/src/scripts/office/schemas/ISO-IEC29500-4_2016/shared-math.xsd +582 -582
- package/skills/sophnet-xlsx/src/scripts/office/schemas/ISO-IEC29500-4_2016/shared-relationshipReference.xsd +25 -25
- package/skills/sophnet-xlsx/src/scripts/office/schemas/ISO-IEC29500-4_2016/sml.xsd +4439 -4439
- package/skills/sophnet-xlsx/src/scripts/office/schemas/ISO-IEC29500-4_2016/vml-main.xsd +570 -570
- package/skills/sophnet-xlsx/src/scripts/office/schemas/ISO-IEC29500-4_2016/vml-officeDrawing.xsd +509 -509
- package/skills/sophnet-xlsx/src/scripts/office/schemas/ISO-IEC29500-4_2016/vml-presentationDrawing.xsd +12 -12
- package/skills/sophnet-xlsx/src/scripts/office/schemas/ISO-IEC29500-4_2016/vml-spreadsheetDrawing.xsd +108 -108
- package/skills/sophnet-xlsx/src/scripts/office/schemas/ISO-IEC29500-4_2016/vml-wordprocessingDrawing.xsd +96 -96
- package/skills/sophnet-xlsx/src/scripts/office/schemas/ISO-IEC29500-4_2016/wml.xsd +3646 -3646
- package/skills/sophnet-xlsx/src/scripts/office/schemas/ISO-IEC29500-4_2016/xml.xsd +116 -116
- package/skills/sophnet-xlsx/src/scripts/office/schemas/ecma/fouth-edition/opc-contentTypes.xsd +42 -42
- package/skills/sophnet-xlsx/src/scripts/office/schemas/ecma/fouth-edition/opc-coreProperties.xsd +50 -50
- package/skills/sophnet-xlsx/src/scripts/office/schemas/ecma/fouth-edition/opc-digSig.xsd +49 -49
- package/skills/sophnet-xlsx/src/scripts/office/schemas/ecma/fouth-edition/opc-relationships.xsd +33 -33
- package/skills/sophnet-xlsx/src/scripts/office/schemas/mce/mc.xsd +75 -75
- package/skills/sophnet-xlsx/src/scripts/office/schemas/microsoft/wml-2010.xsd +560 -560
- package/skills/sophnet-xlsx/src/scripts/office/schemas/microsoft/wml-2012.xsd +67 -67
- package/skills/sophnet-xlsx/src/scripts/office/schemas/microsoft/wml-2018.xsd +14 -14
- package/skills/sophnet-xlsx/src/scripts/office/schemas/microsoft/wml-cex-2018.xsd +20 -20
- package/skills/sophnet-xlsx/src/scripts/office/schemas/microsoft/wml-cid-2016.xsd +13 -13
- package/skills/sophnet-xlsx/src/scripts/office/schemas/microsoft/wml-sdtdatahash-2020.xsd +4 -4
- package/skills/sophnet-xlsx/src/scripts/office/schemas/microsoft/wml-symex-2015.xsd +8 -8
- package/skills/sophnet-xlsx/src/scripts/office/soffice.py +183 -183
- package/skills/sophnet-xlsx/src/scripts/office/unpack.py +132 -132
- package/skills/sophnet-xlsx/src/scripts/office/validate.py +111 -111
- package/skills/sophnet-xlsx/src/scripts/office/validators/__init__.py +15 -15
- package/skills/sophnet-xlsx/src/scripts/office/validators/base.py +847 -847
- package/skills/sophnet-xlsx/src/scripts/office/validators/docx.py +446 -446
- package/skills/sophnet-xlsx/src/scripts/office/validators/pptx.py +275 -275
- package/skills/sophnet-xlsx/src/scripts/office/validators/redlining.py +247 -247
- package/skills/sophnet-xlsx/src/scripts/recalc.py +184 -184
- package/skills/sophnet-xlsx/src/scripts/upload_file.sh +96 -96
- package/skills/sophnet-xlsx/src/uv.lock +319 -319
- package/skills/ui-ux-pro-max/skill.json +20 -20
- package/skills/ui-ux-pro-max/src/SKILL.md +377 -377
- package/skills/ui-ux-pro-max/src/data/icons.csv +101 -101
- package/skills/ui-ux-pro-max/src/data/react-performance.csv +45 -45
- package/skills/ui-ux-pro-max/src/data/stacks/astro.csv +54 -54
- package/skills/ui-ux-pro-max/src/data/stacks/jetpack-compose.csv +53 -53
- package/skills/ui-ux-pro-max/src/data/stacks/nuxt-ui.csv +51 -51
- package/skills/ui-ux-pro-max/src/data/stacks/nuxtjs.csv +59 -59
- package/skills/ui-ux-pro-max/src/data/stacks/shadcn.csv +61 -61
- package/skills/ui-ux-pro-max/src/data/typography.csv +57 -57
- package/skills/ui-ux-pro-max/src/data/ui-reasoning.csv +101 -101
- package/skills/ui-ux-pro-max/src/data/web-interface.csv +31 -31
- package/skills/ui-ux-pro-max/src/scripts/core.py +253 -253
- package/skills/ui-ux-pro-max/src/scripts/design_system.py +1067 -1067
- package/skills/video-understand/skill.json +20 -20
- package/skills/video-understand/src/SKILL.md +79 -79
- package/skills/video-understand/src/scripts/video_understand.py +204 -204
- package/skills/weather/skill.json +19 -19
- package/skills/weather/src/SKILL.md +112 -112
- package/skills/web-scraper/skill.json +20 -20
- package/skills/web-scraper/src/SKILL.md +101 -101
- package/skills/web-scraper/src/scripts/scrape.py +270 -270
- package/skills/website-builder/skill.json +20 -20
- package/skills/website-builder/src/SKILL.md +266 -266
- package/skills/website-builder/src/scripts/deploy_site.sh +46 -46
- package/skills/wechat-article-publisher/skill.json +20 -20
- package/skills/wechat-article-publisher/src/SKILL.md +60 -60
- package/skills/wechat-article-publisher/src/config.json +6 -6
- package/skills/wechat-article-publisher/src/pyproject.toml +12 -12
- package/skills/wechat-article-publisher/src/scripts/publish_wechat.py +825 -825
- package/skills/xiaohongshu/skill.json +20 -20
- package/skills/xiaohongshu/src/SKILL.md +91 -91
- package/skills/xiaohongshu/src/_meta.json +5 -5
- package/skills/xiaohongshu/src/assets/card.html +216 -216
- package/skills/xiaohongshu/src/assets/cover.html +82 -82
- package/skills/xiaohongshu/src/assets/example.md +84 -84
- package/skills/xiaohongshu/src/assets/styles.css +318 -318
- package/skills/xiaohongshu/src/scripts/render_xhs_v2.py +737 -737
- package/skills/xiaohongshu/src/scripts/sign_server.py +158 -158
- package/skills/xiaohongshu/src/scripts/stealth.min.js +6 -6
- package/skills/xiaohongshu/src/scripts/xhs_tool.py +186 -186
- package/skills/xiaohongshu/src/workflow.py +185 -185
- package/src/commands/agent.js +112 -112
- package/src/commands/download.js +101 -101
- package/src/commands/info.js +58 -58
- package/src/commands/list.js +71 -71
- package/src/utils/agents.js +36 -36
- package/src/utils/config.js +22 -22
- package/src/utils/paths.js +31 -31
- package/src/utils/versions.js +57 -57
|
@@ -1,115 +1,115 @@
|
|
|
1
|
-
import argparse
|
|
2
|
-
import base64
|
|
3
|
-
import json
|
|
4
|
-
import os
|
|
5
|
-
import urllib.error
|
|
6
|
-
import urllib.request
|
|
7
|
-
|
|
8
|
-
import sophnet_tools
|
|
9
|
-
|
|
10
|
-
API_URL = "https://www.sophnet.com/api/open-apis/v1/chat/completions"
|
|
11
|
-
MODEL = "Qwen3-VL-235B-A22B-Instruct"
|
|
12
|
-
|
|
13
|
-
SYSTEM_PROMPT = """你是专业的自然与人文识图辅助助手,回答基于图像特征作审慎判断,不能当成权威鉴定结论。用户会提供一张图片。请先大致判断画面里**最主要的那一样东西**可能属于哪类:植物、动物、真菌、昆虫、矿物、人造物或工艺品、食物、景观地标、纸面或屏幕上的内容、其他——若画面含糊,就明说看不准大类。围绕这一主要主体展开;若有容易混淆的近似种或其他主体,用一两句说明替代可能。
|
|
14
|
-
|
|
15
|
-
语气必须专业、审慎并留有余地:可使用「根据图像特征判断」「更接近」「可能为」「不能完全排除」「仅凭这张图片暂不宜定到种」等表述;禁止使用「这就是」「肯定是」「百分之百」「一定是」之类绝对措辞。学名、毒性、能否食用、是否保护物种等尤其要保守,拿不准就明确说明,并提醒用户以专业鉴定、权威资料或监管信息为准。
|
|
16
|
-
|
|
17
|
-
用**简体中文**输出几段自然连贯的话,风格应清晰、可靠、易懂;不要 Markdown 标题(不要 #、##),不要表格,不要用「-」或数字做条目罗列。
|
|
18
|
-
|
|
19
|
-
内容里尽量自然带到(都只作或然叙述;禁止编造图上没有依据的数字,如具体海拔、精确尺寸):可能的常见叫法、别名;若判断依据较充分,再提学名和大概分类;常见原产地或分布;就这张照片里看得见的花、叶、毛、斑、姿态等特征;常见生境及与人的关系;毒性、可食性或保护类别等风险信息必须保守表述。若照片模糊、角度受限或关键特征被遮挡,要说明结论卡在哪一级,以及进一步确认时建议补拍哪些细节。
|
|
20
|
-
|
|
21
|
-
开头不要寒暄,直接给出基于图像特征的判断。收束时简短提醒:以上为图像识别参考,涉及食用、触碰、用药、采收、饲养或保护等级等事项,应以权威资料或专业人士意见为准。"""
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
def _is_likely_base64(raw: str) -> bool:
|
|
25
|
-
text = raw.strip()
|
|
26
|
-
if not text or any(ch.isspace() for ch in text):
|
|
27
|
-
return False
|
|
28
|
-
try:
|
|
29
|
-
base64.b64decode(text, validate=True)
|
|
30
|
-
return True
|
|
31
|
-
except Exception:
|
|
32
|
-
return False
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
def normalize_image_input(image_input: str, upload_timeout: int = 30) -> str:
|
|
36
|
-
text = image_input.strip()
|
|
37
|
-
if not text:
|
|
38
|
-
raise ValueError("图片输入不能为空")
|
|
39
|
-
|
|
40
|
-
if text.startswith(("http://", "https://")):
|
|
41
|
-
return text
|
|
42
|
-
|
|
43
|
-
if text.startswith("data:image/") and ";base64," in text:
|
|
44
|
-
return text
|
|
45
|
-
|
|
46
|
-
if os.path.exists(text):
|
|
47
|
-
return sophnet_tools.upload_oss(text, upload_timeout)
|
|
48
|
-
|
|
49
|
-
if _is_likely_base64(text):
|
|
50
|
-
return text
|
|
51
|
-
|
|
52
|
-
raise ValueError("无法识别图片输入:请传入 URL、base64、data URL 或本地文件路径")
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
def call_vlm(image_input: str) -> str:
|
|
56
|
-
api_key = sophnet_tools.get_api_key()
|
|
57
|
-
image_url = normalize_image_input(image_input)
|
|
58
|
-
|
|
59
|
-
payload = {
|
|
60
|
-
"messages": [
|
|
61
|
-
{"role": "system", "content": SYSTEM_PROMPT},
|
|
62
|
-
{
|
|
63
|
-
"role": "user",
|
|
64
|
-
"content": [
|
|
65
|
-
{
|
|
66
|
-
"type": "image_url",
|
|
67
|
-
"image_url": {"url": image_url},
|
|
68
|
-
}
|
|
69
|
-
],
|
|
70
|
-
},
|
|
71
|
-
],
|
|
72
|
-
"model": MODEL,
|
|
73
|
-
"stream": False,
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
body = json.dumps(payload).encode("utf-8")
|
|
77
|
-
request = urllib.request.Request(
|
|
78
|
-
url=API_URL,
|
|
79
|
-
data=body,
|
|
80
|
-
method="POST",
|
|
81
|
-
headers={
|
|
82
|
-
"Content-Type": "application/json",
|
|
83
|
-
"Accept": "application/json",
|
|
84
|
-
"Authorization": f"Bearer {api_key}",
|
|
85
|
-
},
|
|
86
|
-
)
|
|
87
|
-
|
|
88
|
-
try:
|
|
89
|
-
with urllib.request.urlopen(request, timeout=120) as response:
|
|
90
|
-
raw = response.read().decode("utf-8")
|
|
91
|
-
data = json.loads(raw)
|
|
92
|
-
except urllib.error.HTTPError as exc:
|
|
93
|
-
detail = exc.read().decode("utf-8", errors="ignore")
|
|
94
|
-
raise RuntimeError(f"HTTPError: {exc.code} {exc.reason} | {detail}") from exc
|
|
95
|
-
except urllib.error.URLError as exc:
|
|
96
|
-
raise RuntimeError(f"URLError: {exc.reason}") from exc
|
|
97
|
-
|
|
98
|
-
try:
|
|
99
|
-
return data["choices"][0]["message"]["content"]
|
|
100
|
-
except (KeyError, IndexError, TypeError):
|
|
101
|
-
return json.dumps(data, ensure_ascii=False, indent=2)
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
def build_parser():
|
|
105
|
-
parser = argparse.ArgumentParser(description="识万物:对图片主体做推测性讲解(非专业鉴定)")
|
|
106
|
-
parser.add_argument(
|
|
107
|
-
"image",
|
|
108
|
-
help="图片输入,支持 http(s) URL、base64、data URL 或本地文件路径",
|
|
109
|
-
)
|
|
110
|
-
return parser
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
if __name__ == "__main__":
|
|
114
|
-
args = build_parser().parse_args()
|
|
115
|
-
print(call_vlm(args.image))
|
|
1
|
+
import argparse
|
|
2
|
+
import base64
|
|
3
|
+
import json
|
|
4
|
+
import os
|
|
5
|
+
import urllib.error
|
|
6
|
+
import urllib.request
|
|
7
|
+
|
|
8
|
+
import sophnet_tools
|
|
9
|
+
|
|
10
|
+
API_URL = "https://www.sophnet.com/api/open-apis/v1/chat/completions"
|
|
11
|
+
MODEL = "Qwen3-VL-235B-A22B-Instruct"
|
|
12
|
+
|
|
13
|
+
SYSTEM_PROMPT = """你是专业的自然与人文识图辅助助手,回答基于图像特征作审慎判断,不能当成权威鉴定结论。用户会提供一张图片。请先大致判断画面里**最主要的那一样东西**可能属于哪类:植物、动物、真菌、昆虫、矿物、人造物或工艺品、食物、景观地标、纸面或屏幕上的内容、其他——若画面含糊,就明说看不准大类。围绕这一主要主体展开;若有容易混淆的近似种或其他主体,用一两句说明替代可能。
|
|
14
|
+
|
|
15
|
+
语气必须专业、审慎并留有余地:可使用「根据图像特征判断」「更接近」「可能为」「不能完全排除」「仅凭这张图片暂不宜定到种」等表述;禁止使用「这就是」「肯定是」「百分之百」「一定是」之类绝对措辞。学名、毒性、能否食用、是否保护物种等尤其要保守,拿不准就明确说明,并提醒用户以专业鉴定、权威资料或监管信息为准。
|
|
16
|
+
|
|
17
|
+
用**简体中文**输出几段自然连贯的话,风格应清晰、可靠、易懂;不要 Markdown 标题(不要 #、##),不要表格,不要用「-」或数字做条目罗列。
|
|
18
|
+
|
|
19
|
+
内容里尽量自然带到(都只作或然叙述;禁止编造图上没有依据的数字,如具体海拔、精确尺寸):可能的常见叫法、别名;若判断依据较充分,再提学名和大概分类;常见原产地或分布;就这张照片里看得见的花、叶、毛、斑、姿态等特征;常见生境及与人的关系;毒性、可食性或保护类别等风险信息必须保守表述。若照片模糊、角度受限或关键特征被遮挡,要说明结论卡在哪一级,以及进一步确认时建议补拍哪些细节。
|
|
20
|
+
|
|
21
|
+
开头不要寒暄,直接给出基于图像特征的判断。收束时简短提醒:以上为图像识别参考,涉及食用、触碰、用药、采收、饲养或保护等级等事项,应以权威资料或专业人士意见为准。"""
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
def _is_likely_base64(raw: str) -> bool:
|
|
25
|
+
text = raw.strip()
|
|
26
|
+
if not text or any(ch.isspace() for ch in text):
|
|
27
|
+
return False
|
|
28
|
+
try:
|
|
29
|
+
base64.b64decode(text, validate=True)
|
|
30
|
+
return True
|
|
31
|
+
except Exception:
|
|
32
|
+
return False
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
def normalize_image_input(image_input: str, upload_timeout: int = 30) -> str:
|
|
36
|
+
text = image_input.strip()
|
|
37
|
+
if not text:
|
|
38
|
+
raise ValueError("图片输入不能为空")
|
|
39
|
+
|
|
40
|
+
if text.startswith(("http://", "https://")):
|
|
41
|
+
return text
|
|
42
|
+
|
|
43
|
+
if text.startswith("data:image/") and ";base64," in text:
|
|
44
|
+
return text
|
|
45
|
+
|
|
46
|
+
if os.path.exists(text):
|
|
47
|
+
return sophnet_tools.upload_oss(text, upload_timeout)
|
|
48
|
+
|
|
49
|
+
if _is_likely_base64(text):
|
|
50
|
+
return text
|
|
51
|
+
|
|
52
|
+
raise ValueError("无法识别图片输入:请传入 URL、base64、data URL 或本地文件路径")
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
def call_vlm(image_input: str) -> str:
|
|
56
|
+
api_key = sophnet_tools.get_api_key()
|
|
57
|
+
image_url = normalize_image_input(image_input)
|
|
58
|
+
|
|
59
|
+
payload = {
|
|
60
|
+
"messages": [
|
|
61
|
+
{"role": "system", "content": SYSTEM_PROMPT},
|
|
62
|
+
{
|
|
63
|
+
"role": "user",
|
|
64
|
+
"content": [
|
|
65
|
+
{
|
|
66
|
+
"type": "image_url",
|
|
67
|
+
"image_url": {"url": image_url},
|
|
68
|
+
}
|
|
69
|
+
],
|
|
70
|
+
},
|
|
71
|
+
],
|
|
72
|
+
"model": MODEL,
|
|
73
|
+
"stream": False,
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
body = json.dumps(payload).encode("utf-8")
|
|
77
|
+
request = urllib.request.Request(
|
|
78
|
+
url=API_URL,
|
|
79
|
+
data=body,
|
|
80
|
+
method="POST",
|
|
81
|
+
headers={
|
|
82
|
+
"Content-Type": "application/json",
|
|
83
|
+
"Accept": "application/json",
|
|
84
|
+
"Authorization": f"Bearer {api_key}",
|
|
85
|
+
},
|
|
86
|
+
)
|
|
87
|
+
|
|
88
|
+
try:
|
|
89
|
+
with urllib.request.urlopen(request, timeout=120) as response:
|
|
90
|
+
raw = response.read().decode("utf-8")
|
|
91
|
+
data = json.loads(raw)
|
|
92
|
+
except urllib.error.HTTPError as exc:
|
|
93
|
+
detail = exc.read().decode("utf-8", errors="ignore")
|
|
94
|
+
raise RuntimeError(f"HTTPError: {exc.code} {exc.reason} | {detail}") from exc
|
|
95
|
+
except urllib.error.URLError as exc:
|
|
96
|
+
raise RuntimeError(f"URLError: {exc.reason}") from exc
|
|
97
|
+
|
|
98
|
+
try:
|
|
99
|
+
return data["choices"][0]["message"]["content"]
|
|
100
|
+
except (KeyError, IndexError, TypeError):
|
|
101
|
+
return json.dumps(data, ensure_ascii=False, indent=2)
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
def build_parser():
|
|
105
|
+
parser = argparse.ArgumentParser(description="识万物:对图片主体做推测性讲解(非专业鉴定)")
|
|
106
|
+
parser.add_argument(
|
|
107
|
+
"image",
|
|
108
|
+
help="图片输入,支持 http(s) URL、base64、data URL 或本地文件路径",
|
|
109
|
+
)
|
|
110
|
+
return parser
|
|
111
|
+
|
|
112
|
+
|
|
113
|
+
if __name__ == "__main__":
|
|
114
|
+
args = build_parser().parse_args()
|
|
115
|
+
print(call_vlm(args.image))
|
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "insurance-policy-review",
|
|
3
|
-
"version": "1.1.0",
|
|
4
|
-
"types": [
|
|
5
|
-
"store"
|
|
6
|
-
],
|
|
7
|
-
"displayName": "保险业小老板:客户保单盘点与续保经营助手",
|
|
8
|
-
"description": "面向保险门店/团队负责人的续保经营工作流:把客户与保单整理成可运营台账,按30/60/90天节点分层,识别续保漏斗风险、条款/合规风险与服务风险,并输出可落地的角色分工SOP与客户沟通话术包。",
|
|
9
|
-
"changelog": [
|
|
10
|
-
{
|
|
11
|
-
"version": "1.1.0",
|
|
12
|
-
"date": "2026-04-24",
|
|
13
|
-
"changes": [
|
|
14
|
-
"将场景从家庭保单年检升级为保险业小老板的客户续保盘点与经营SOP:新增客户分层、节点漏斗、合规风险与团队执行结构"
|
|
15
|
-
]
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
"version": "1.0.0",
|
|
19
|
-
"date": "2026-04-23",
|
|
20
|
-
"changes": [
|
|
21
|
-
"初次提交(从 six-skill 目录对齐标准 skill 结构)"
|
|
22
|
-
]
|
|
23
|
-
}
|
|
24
|
-
],
|
|
25
|
-
"createdAt": "2026-04-23",
|
|
26
|
-
"updatedAt": "2026-04-24"
|
|
27
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "insurance-policy-review",
|
|
3
|
+
"version": "1.1.0",
|
|
4
|
+
"types": [
|
|
5
|
+
"store"
|
|
6
|
+
],
|
|
7
|
+
"displayName": "保险业小老板:客户保单盘点与续保经营助手",
|
|
8
|
+
"description": "面向保险门店/团队负责人的续保经营工作流:把客户与保单整理成可运营台账,按30/60/90天节点分层,识别续保漏斗风险、条款/合规风险与服务风险,并输出可落地的角色分工SOP与客户沟通话术包。",
|
|
9
|
+
"changelog": [
|
|
10
|
+
{
|
|
11
|
+
"version": "1.1.0",
|
|
12
|
+
"date": "2026-04-24",
|
|
13
|
+
"changes": [
|
|
14
|
+
"将场景从家庭保单年检升级为保险业小老板的客户续保盘点与经营SOP:新增客户分层、节点漏斗、合规风险与团队执行结构"
|
|
15
|
+
]
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"version": "1.0.0",
|
|
19
|
+
"date": "2026-04-23",
|
|
20
|
+
"changes": [
|
|
21
|
+
"初次提交(从 six-skill 目录对齐标准 skill 结构)"
|
|
22
|
+
]
|
|
23
|
+
}
|
|
24
|
+
],
|
|
25
|
+
"createdAt": "2026-04-23",
|
|
26
|
+
"updatedAt": "2026-04-24"
|
|
27
|
+
}
|
|
@@ -1,75 +1,75 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: insurance-policy-review
|
|
3
|
-
description: 面向保险门店/团队负责人的续保经营工作流。用于客户保单盘点、续保台账搭建、30/60/90天节点分层、识别续保漏斗与条款/合规/服务风险,并输出团队分工SOP与客户沟通话术包。
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
## 适用场景(触发条件)
|
|
7
|
-
|
|
8
|
-
- “我这月/这季度续保要怎么盘?哪些客户最该先跟进?”
|
|
9
|
-
- “客户保单很散,想做一张可运营的保单台账/续保台账”
|
|
10
|
-
- “想按客户分层做经营:高价值/高风险/沉睡客户怎么唤醒?”
|
|
11
|
-
- “理赔/拒赔/投诉风险怎么提前识别?怎么把话术合规化?”
|
|
12
|
-
- “团队跟进没章法,想要一个可落地SOP:谁做什么、什么时候做、怎么记录”
|
|
13
|
-
- “不想要泛泛保险科普,要能直接用于门店经营的清单、表格和话术”
|
|
14
|
-
|
|
15
|
-
## 输入信息(一次性收集)
|
|
16
|
-
|
|
17
|
-
### A. 经营与团队信息(门店视角)
|
|
18
|
-
- 门店/团队结构:老板/主管/顾问人数、是否有助理/电销
|
|
19
|
-
- 经营周期:本月/本季度/全年(默认本季度)
|
|
20
|
-
- 业务范围:个险(寿险/重疾/医疗/意外)、团险、车险、财产险(可多选)
|
|
21
|
-
- 跟进与记录工具:Excel/企业微信/CRM(用于给动作建议做适配)
|
|
22
|
-
|
|
23
|
-
### B. 客户清单与现有保单信息(可先粗略)
|
|
24
|
-
建议以“客户”为单位汇总;如果只能提供“保单”,也可以先做反向归集。
|
|
25
|
-
|
|
26
|
-
每位客户至少提供:
|
|
27
|
-
- 客户标签:新/老、家庭结构(单身/有娃/赡养)、收入区间(可选)、是否企业主(可选)
|
|
28
|
-
- 触达信息:最佳联系时间、偏好渠道(电话/企微/面谈)
|
|
29
|
-
- 关键节点:续期缴费日/到期日/保证续保到期点(如有)
|
|
30
|
-
|
|
31
|
-
每张保单尽量提供:
|
|
32
|
-
- 产品/险种大类、保额/保费、保障期限、缴费期、被保人/投保人/受益人
|
|
33
|
-
- 关键条款点:健康告知(是否有变更风险)、免责/既往症、等待期、免赔额、续保条件(保证/非保证)
|
|
34
|
-
- 经营信息:年缴/月缴、是否自动扣费、是否存在断缴/保全变更
|
|
35
|
-
|
|
36
|
-
### C. 经营目标与约束(老板决策)
|
|
37
|
-
- 目标:续保保费目标(本月/本季度)、新增件数目标、老客转介绍目标(可选)
|
|
38
|
-
- 约束:不碰高争议话术、偏好“稳续保”还是“提升客单”(可选)
|
|
39
|
-
- 风险偏好:更重视投诉/合规风险,还是更重视短期业绩(用于排序)
|
|
40
|
-
|
|
41
|
-
## 标准输出(必须按这个结构给)
|
|
42
|
-
|
|
43
|
-
### 1) 客户-保单运营总表(可复制)
|
|
44
|
-
输出一张表格(推荐每行=一位客户;必要时可展开到“客户-保单”两级表)。字段至少包含:
|
|
45
|
-
客户|客户分层(A/B/C)|关键节点(30/60/90天)|当前年保费|保单结构概览|续保风险(低/中/高)|投诉/拒赔风险提示|下一步动作(一句话)|负责人|截止日期
|
|
46
|
-
|
|
47
|
-
### 2) 经营问题清单(按优先级)
|
|
48
|
-
至少覆盖 5 类(每条必须包含:为什么 + 证据字段 + 影响 + 建议动作):
|
|
49
|
-
- **续保漏斗风险**:未来30/60/90天到期/缴费集中、自动扣费失败、断缴概率高的客户
|
|
50
|
-
- **产品/条款风险**:非保证续保、健康告知敏感、免责争议点、既往症/体况变化导致的经营风险
|
|
51
|
-
- **客户关系风险**:长期未触达、服务承诺不可兑现、历史理赔/投诉苗头
|
|
52
|
-
- **结构与价值提升机会**:同一客户多张小单但缺少核心保障/缺少长期规划,可通过“结构化复盘”提升客单(不做带货式硬推)
|
|
53
|
-
- **团队执行问题**:跟进无SOP、资料缺失、记录不一致导致的错过续保/扯皮
|
|
54
|
-
|
|
55
|
-
### 3) 续保经营SOP(可执行)
|
|
56
|
-
输出 checklist(按“老板/主管/顾问/助理”分工;每项包含触发条件与完成标准):
|
|
57
|
-
- 台账补齐:缺哪些字段、怎么从保单/系统截取、如何命名与归档
|
|
58
|
-
- 风险标记:哪些情况必须标“高风险”,需谁复核(例如非保证续保、体况变化、历史拒赔争议)
|
|
59
|
-
- 跟进节奏:T-90/T-60/T-30/T-7/到期后7天的触达动作与升级规则
|
|
60
|
-
- 记录与复盘:每次沟通最少记录哪些要点(需求/异议/下一次时间/材料)
|
|
61
|
-
- 合规底线:哪些表达禁用、哪些必须加免责声明、哪些场景建议引导书面确认
|
|
62
|
-
|
|
63
|
-
### 4) 客户沟通话术包(四套,直接可用)
|
|
64
|
-
- **续保提醒(温和版)**:不吓唬、强调服务与节点
|
|
65
|
-
- **续保提醒(强节点版)**:强调时间点与操作,适合助理/电销
|
|
66
|
-
- **条款风险说明(合规版)**:非保证续保/既往症/免责的解释模板(避免承诺式措辞)
|
|
67
|
-
- **面谈邀约与资料收集**:如何要资料、如何把“体检/复盘”包装成服务交付
|
|
68
|
-
|
|
69
|
-
## 质量检查
|
|
70
|
-
|
|
71
|
-
- 不做具体产品“带货式”推荐,除非用户明确要求对比/筛选方案
|
|
72
|
-
- 任何“风险/建议”必须可追溯到“表格里的字段/条款点/时间节点”
|
|
73
|
-
- 避免保证性承诺措辞(如“肯定能赔/一定能续”),使用条件化与流程化表达
|
|
74
|
-
- 涉及法律/合规/条款解释时,提醒以合同条款与公司规则为准(可附统一免责声明句式)
|
|
75
|
-
|
|
1
|
+
---
|
|
2
|
+
name: insurance-policy-review
|
|
3
|
+
description: 面向保险门店/团队负责人的续保经营工作流。用于客户保单盘点、续保台账搭建、30/60/90天节点分层、识别续保漏斗与条款/合规/服务风险,并输出团队分工SOP与客户沟通话术包。
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## 适用场景(触发条件)
|
|
7
|
+
|
|
8
|
+
- “我这月/这季度续保要怎么盘?哪些客户最该先跟进?”
|
|
9
|
+
- “客户保单很散,想做一张可运营的保单台账/续保台账”
|
|
10
|
+
- “想按客户分层做经营:高价值/高风险/沉睡客户怎么唤醒?”
|
|
11
|
+
- “理赔/拒赔/投诉风险怎么提前识别?怎么把话术合规化?”
|
|
12
|
+
- “团队跟进没章法,想要一个可落地SOP:谁做什么、什么时候做、怎么记录”
|
|
13
|
+
- “不想要泛泛保险科普,要能直接用于门店经营的清单、表格和话术”
|
|
14
|
+
|
|
15
|
+
## 输入信息(一次性收集)
|
|
16
|
+
|
|
17
|
+
### A. 经营与团队信息(门店视角)
|
|
18
|
+
- 门店/团队结构:老板/主管/顾问人数、是否有助理/电销
|
|
19
|
+
- 经营周期:本月/本季度/全年(默认本季度)
|
|
20
|
+
- 业务范围:个险(寿险/重疾/医疗/意外)、团险、车险、财产险(可多选)
|
|
21
|
+
- 跟进与记录工具:Excel/企业微信/CRM(用于给动作建议做适配)
|
|
22
|
+
|
|
23
|
+
### B. 客户清单与现有保单信息(可先粗略)
|
|
24
|
+
建议以“客户”为单位汇总;如果只能提供“保单”,也可以先做反向归集。
|
|
25
|
+
|
|
26
|
+
每位客户至少提供:
|
|
27
|
+
- 客户标签:新/老、家庭结构(单身/有娃/赡养)、收入区间(可选)、是否企业主(可选)
|
|
28
|
+
- 触达信息:最佳联系时间、偏好渠道(电话/企微/面谈)
|
|
29
|
+
- 关键节点:续期缴费日/到期日/保证续保到期点(如有)
|
|
30
|
+
|
|
31
|
+
每张保单尽量提供:
|
|
32
|
+
- 产品/险种大类、保额/保费、保障期限、缴费期、被保人/投保人/受益人
|
|
33
|
+
- 关键条款点:健康告知(是否有变更风险)、免责/既往症、等待期、免赔额、续保条件(保证/非保证)
|
|
34
|
+
- 经营信息:年缴/月缴、是否自动扣费、是否存在断缴/保全变更
|
|
35
|
+
|
|
36
|
+
### C. 经营目标与约束(老板决策)
|
|
37
|
+
- 目标:续保保费目标(本月/本季度)、新增件数目标、老客转介绍目标(可选)
|
|
38
|
+
- 约束:不碰高争议话术、偏好“稳续保”还是“提升客单”(可选)
|
|
39
|
+
- 风险偏好:更重视投诉/合规风险,还是更重视短期业绩(用于排序)
|
|
40
|
+
|
|
41
|
+
## 标准输出(必须按这个结构给)
|
|
42
|
+
|
|
43
|
+
### 1) 客户-保单运营总表(可复制)
|
|
44
|
+
输出一张表格(推荐每行=一位客户;必要时可展开到“客户-保单”两级表)。字段至少包含:
|
|
45
|
+
客户|客户分层(A/B/C)|关键节点(30/60/90天)|当前年保费|保单结构概览|续保风险(低/中/高)|投诉/拒赔风险提示|下一步动作(一句话)|负责人|截止日期
|
|
46
|
+
|
|
47
|
+
### 2) 经营问题清单(按优先级)
|
|
48
|
+
至少覆盖 5 类(每条必须包含:为什么 + 证据字段 + 影响 + 建议动作):
|
|
49
|
+
- **续保漏斗风险**:未来30/60/90天到期/缴费集中、自动扣费失败、断缴概率高的客户
|
|
50
|
+
- **产品/条款风险**:非保证续保、健康告知敏感、免责争议点、既往症/体况变化导致的经营风险
|
|
51
|
+
- **客户关系风险**:长期未触达、服务承诺不可兑现、历史理赔/投诉苗头
|
|
52
|
+
- **结构与价值提升机会**:同一客户多张小单但缺少核心保障/缺少长期规划,可通过“结构化复盘”提升客单(不做带货式硬推)
|
|
53
|
+
- **团队执行问题**:跟进无SOP、资料缺失、记录不一致导致的错过续保/扯皮
|
|
54
|
+
|
|
55
|
+
### 3) 续保经营SOP(可执行)
|
|
56
|
+
输出 checklist(按“老板/主管/顾问/助理”分工;每项包含触发条件与完成标准):
|
|
57
|
+
- 台账补齐:缺哪些字段、怎么从保单/系统截取、如何命名与归档
|
|
58
|
+
- 风险标记:哪些情况必须标“高风险”,需谁复核(例如非保证续保、体况变化、历史拒赔争议)
|
|
59
|
+
- 跟进节奏:T-90/T-60/T-30/T-7/到期后7天的触达动作与升级规则
|
|
60
|
+
- 记录与复盘:每次沟通最少记录哪些要点(需求/异议/下一次时间/材料)
|
|
61
|
+
- 合规底线:哪些表达禁用、哪些必须加免责声明、哪些场景建议引导书面确认
|
|
62
|
+
|
|
63
|
+
### 4) 客户沟通话术包(四套,直接可用)
|
|
64
|
+
- **续保提醒(温和版)**:不吓唬、强调服务与节点
|
|
65
|
+
- **续保提醒(强节点版)**:强调时间点与操作,适合助理/电销
|
|
66
|
+
- **条款风险说明(合规版)**:非保证续保/既往症/免责的解释模板(避免承诺式措辞)
|
|
67
|
+
- **面谈邀约与资料收集**:如何要资料、如何把“体检/复盘”包装成服务交付
|
|
68
|
+
|
|
69
|
+
## 质量检查
|
|
70
|
+
|
|
71
|
+
- 不做具体产品“带货式”推荐,除非用户明确要求对比/筛选方案
|
|
72
|
+
- 任何“风险/建议”必须可追溯到“表格里的字段/条款点/时间节点”
|
|
73
|
+
- 避免保证性承诺措辞(如“肯定能赔/一定能续”),使用条件化与流程化表达
|
|
74
|
+
- 涉及法律/合规/条款解释时,提醒以合同条款与公司规则为准(可附统一免责声明句式)
|
|
75
|
+
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "insurance-sales-playbook",
|
|
3
|
-
"version": "1.0.0",
|
|
4
|
-
"types": [
|
|
5
|
-
"store"
|
|
6
|
-
],
|
|
7
|
-
"displayName": "保险成交话术与私域运营助手",
|
|
8
|
-
"description": "面向保险代理人/小团队/小老板的“线索→邀约→面谈→成交→转介绍”落地技能,输出可复制话术、异议处理、朋友圈内容脚本、客户跟进节奏与合规边界提醒。",
|
|
9
|
-
"changelog": [
|
|
10
|
-
{
|
|
11
|
-
"version": "1.0.0",
|
|
12
|
-
"date": "2026-04-23",
|
|
13
|
-
"changes": [
|
|
14
|
-
"初次提交(从 six-skill 目录对齐标准 skill 结构)"
|
|
15
|
-
]
|
|
16
|
-
}
|
|
17
|
-
],
|
|
18
|
-
"createdAt": "2026-04-23",
|
|
19
|
-
"updatedAt": "2026-04-23"
|
|
20
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "insurance-sales-playbook",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"types": [
|
|
5
|
+
"store"
|
|
6
|
+
],
|
|
7
|
+
"displayName": "保险成交话术与私域运营助手",
|
|
8
|
+
"description": "面向保险代理人/小团队/小老板的“线索→邀约→面谈→成交→转介绍”落地技能,输出可复制话术、异议处理、朋友圈内容脚本、客户跟进节奏与合规边界提醒。",
|
|
9
|
+
"changelog": [
|
|
10
|
+
{
|
|
11
|
+
"version": "1.0.0",
|
|
12
|
+
"date": "2026-04-23",
|
|
13
|
+
"changes": [
|
|
14
|
+
"初次提交(从 six-skill 目录对齐标准 skill 结构)"
|
|
15
|
+
]
|
|
16
|
+
}
|
|
17
|
+
],
|
|
18
|
+
"createdAt": "2026-04-23",
|
|
19
|
+
"updatedAt": "2026-04-23"
|
|
20
|
+
}
|
|
@@ -1,58 +1,58 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: insurance-sales-playbook
|
|
3
|
-
description: Provide repeatable insurance sales scripts and private-domain follow-up cadence with compliance reminders. Use when the user asks about 保险话术, 异议处理, 邀约面谈, 私域运营, 朋友圈内容, 转介绍, or 跟进节奏.
|
|
4
|
-
---
|
|
5
|
-
|
|
6
|
-
## 适用场景(触发条件)
|
|
7
|
-
|
|
8
|
-
- “客户说太贵/再想想/已经买过了,怎么回复?”
|
|
9
|
-
- “怎么邀约面谈/怎么做家庭保单体检?”
|
|
10
|
-
- “朋友圈发什么不招人烦?怎么做信任?”
|
|
11
|
-
- “想做转介绍/客户续保提醒/生日关怀”
|
|
12
|
-
|
|
13
|
-
## 输入信息(一次性收集)
|
|
14
|
-
|
|
15
|
-
- **你的身份**:代理人/经纪人/团队负责人
|
|
16
|
-
- **目标客户画像**:宝妈/白领/个体户/企业主等
|
|
17
|
-
- **产品类型**:医疗险/重疾/寿险/意外/年金(可多选)
|
|
18
|
-
- **沟通阶段**:首次接触/已报价/面谈后/临门一脚/续保
|
|
19
|
-
- **客户核心异议**:价格/不信任/怕理赔/怕被骗/已买过/没预算
|
|
20
|
-
- **合规要求**:公司话术规范(如有)
|
|
21
|
-
|
|
22
|
-
## 标准输出(必须按这个结构给)
|
|
23
|
-
|
|
24
|
-
### 1) 本次沟通目标(一句话)
|
|
25
|
-
例:把“再想想”推进到“约定下次面谈时间”。
|
|
26
|
-
|
|
27
|
-
### 2) 三段式回应(可直接复制)
|
|
28
|
-
- **共情一句**:先接住情绪/顾虑
|
|
29
|
-
- **澄清提问**:用1-2个问题定位真实原因
|
|
30
|
-
- **推进动作**:给二选一/给具体时间
|
|
31
|
-
|
|
32
|
-
### 3) 异议处理卡(表格)
|
|
33
|
-
输出表格:异议 → 真实原因猜测 → 推荐回应 → 下一步动作 → 禁区提醒。
|
|
34
|
-
|
|
35
|
-
### 4) 7天跟进节奏(不骚扰版)
|
|
36
|
-
按 Day0/Day1/Day3/Day7 给:
|
|
37
|
-
- 触达方式(文字/语音/电话)
|
|
38
|
-
- 内容要点(价值/案例/科普)
|
|
39
|
-
- 目标动作(预约/资料/确认预算)
|
|
40
|
-
|
|
41
|
-
### 5) 朋友圈内容脚本(连续7条)
|
|
42
|
-
每条包含:
|
|
43
|
-
- 标题/开头钩子
|
|
44
|
-
- 正文(100-180字)
|
|
45
|
-
- 结尾互动问题(引导私聊)
|
|
46
|
-
并给出内容结构占比建议:科普/案例/生活/价值观/客户反馈(合规表达)。
|
|
47
|
-
|
|
48
|
-
## 合规边界(必须提醒)
|
|
49
|
-
|
|
50
|
-
- 不做“保证理赔/保证收益/夸大疾病覆盖”承诺
|
|
51
|
-
- 不引导客户隐瞒健康告知
|
|
52
|
-
- 用“案例”时要去除可识别信息,避免虚构细节
|
|
53
|
-
|
|
54
|
-
## 质量检查
|
|
55
|
-
|
|
56
|
-
- 话术必须“短、自然、可复制”,避免大段说教
|
|
57
|
-
- 每次输出都要有“下一步动作”(约时间/要资料/确认预算)
|
|
58
|
-
|
|
1
|
+
---
|
|
2
|
+
name: insurance-sales-playbook
|
|
3
|
+
description: Provide repeatable insurance sales scripts and private-domain follow-up cadence with compliance reminders. Use when the user asks about 保险话术, 异议处理, 邀约面谈, 私域运营, 朋友圈内容, 转介绍, or 跟进节奏.
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
## 适用场景(触发条件)
|
|
7
|
+
|
|
8
|
+
- “客户说太贵/再想想/已经买过了,怎么回复?”
|
|
9
|
+
- “怎么邀约面谈/怎么做家庭保单体检?”
|
|
10
|
+
- “朋友圈发什么不招人烦?怎么做信任?”
|
|
11
|
+
- “想做转介绍/客户续保提醒/生日关怀”
|
|
12
|
+
|
|
13
|
+
## 输入信息(一次性收集)
|
|
14
|
+
|
|
15
|
+
- **你的身份**:代理人/经纪人/团队负责人
|
|
16
|
+
- **目标客户画像**:宝妈/白领/个体户/企业主等
|
|
17
|
+
- **产品类型**:医疗险/重疾/寿险/意外/年金(可多选)
|
|
18
|
+
- **沟通阶段**:首次接触/已报价/面谈后/临门一脚/续保
|
|
19
|
+
- **客户核心异议**:价格/不信任/怕理赔/怕被骗/已买过/没预算
|
|
20
|
+
- **合规要求**:公司话术规范(如有)
|
|
21
|
+
|
|
22
|
+
## 标准输出(必须按这个结构给)
|
|
23
|
+
|
|
24
|
+
### 1) 本次沟通目标(一句话)
|
|
25
|
+
例:把“再想想”推进到“约定下次面谈时间”。
|
|
26
|
+
|
|
27
|
+
### 2) 三段式回应(可直接复制)
|
|
28
|
+
- **共情一句**:先接住情绪/顾虑
|
|
29
|
+
- **澄清提问**:用1-2个问题定位真实原因
|
|
30
|
+
- **推进动作**:给二选一/给具体时间
|
|
31
|
+
|
|
32
|
+
### 3) 异议处理卡(表格)
|
|
33
|
+
输出表格:异议 → 真实原因猜测 → 推荐回应 → 下一步动作 → 禁区提醒。
|
|
34
|
+
|
|
35
|
+
### 4) 7天跟进节奏(不骚扰版)
|
|
36
|
+
按 Day0/Day1/Day3/Day7 给:
|
|
37
|
+
- 触达方式(文字/语音/电话)
|
|
38
|
+
- 内容要点(价值/案例/科普)
|
|
39
|
+
- 目标动作(预约/资料/确认预算)
|
|
40
|
+
|
|
41
|
+
### 5) 朋友圈内容脚本(连续7条)
|
|
42
|
+
每条包含:
|
|
43
|
+
- 标题/开头钩子
|
|
44
|
+
- 正文(100-180字)
|
|
45
|
+
- 结尾互动问题(引导私聊)
|
|
46
|
+
并给出内容结构占比建议:科普/案例/生活/价值观/客户反馈(合规表达)。
|
|
47
|
+
|
|
48
|
+
## 合规边界(必须提醒)
|
|
49
|
+
|
|
50
|
+
- 不做“保证理赔/保证收益/夸大疾病覆盖”承诺
|
|
51
|
+
- 不引导客户隐瞒健康告知
|
|
52
|
+
- 用“案例”时要去除可识别信息,避免虚构细节
|
|
53
|
+
|
|
54
|
+
## 质量检查
|
|
55
|
+
|
|
56
|
+
- 话术必须“短、自然、可复制”,避免大段说教
|
|
57
|
+
- 每次输出都要有“下一步动作”(约时间/要资料/确认预算)
|
|
58
|
+
|
|
@@ -1,20 +1,20 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "inventory-management",
|
|
3
|
-
"version": "1.0.0",
|
|
4
|
-
"types": [
|
|
5
|
-
"builtin"
|
|
6
|
-
],
|
|
7
|
-
"displayName": "",
|
|
8
|
-
"description": "",
|
|
9
|
-
"changelog": [
|
|
10
|
-
{
|
|
11
|
-
"version": "1.0.0",
|
|
12
|
-
"date": "2026-04-09",
|
|
13
|
-
"changes": [
|
|
14
|
-
"初次提交"
|
|
15
|
-
]
|
|
16
|
-
}
|
|
17
|
-
],
|
|
18
|
-
"createdAt": "2026-04-09",
|
|
19
|
-
"updatedAt": "2026-04-09"
|
|
20
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "inventory-management",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"types": [
|
|
5
|
+
"builtin"
|
|
6
|
+
],
|
|
7
|
+
"displayName": "",
|
|
8
|
+
"description": "",
|
|
9
|
+
"changelog": [
|
|
10
|
+
{
|
|
11
|
+
"version": "1.0.0",
|
|
12
|
+
"date": "2026-04-09",
|
|
13
|
+
"changes": [
|
|
14
|
+
"初次提交"
|
|
15
|
+
]
|
|
16
|
+
}
|
|
17
|
+
],
|
|
18
|
+
"createdAt": "2026-04-09",
|
|
19
|
+
"updatedAt": "2026-04-09"
|
|
20
|
+
}
|